From 152c8b6719fd8f12d5b1b2dfba6b63bf3ed6e019 Mon Sep 17 00:00:00 2001 From: marcelb Date: Thu, 27 Jul 2023 18:30:56 +0200 Subject: [PATCH] Add semaphore for work wit multithread --- test/compile.sh | 2 +- test/test.o | Bin 36592 -> 45768 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/test/compile.sh b/test/compile.sh index d78b604..9a28838 100644 --- a/test/compile.sh +++ b/test/compile.sh @@ -1 +1 @@ -g++ test.cpp ../src/* -o test.o -l sqlite3 \ No newline at end of file +g++ test.cpp ../src/* -o test.o \ No newline at end of file diff --git a/test/test.o b/test/test.o index 98e93dde2334161b8556c42b754d5c1295fd1672..9982b231829c7b23f42ae8028f5d0e21986c2d70 100755 GIT binary patch literal 45768 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�QbgF^(cg<&|I2^>tODuVBCsUt|qN4`kQJ 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