]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make fine time granularity work on POSIX.
authormistachkin <mistachkin@noemail.net>
Wed, 15 Feb 2017 00:45:53 +0000 (00:45 +0000)
committermistachkin <mistachkin@noemail.net>
Wed, 15 Feb 2017 00:45:53 +0000 (00:45 +0000)
FossilOrigin-Name: 79057716d9ab9e05acdc1f204940ddd540a8f2ef

manifest
manifest.uuid
src/mutex.c
src/sqliteInt.h

index 8e9c0784dba77b5e806c4a614c236336b02b8449..5414a3ebb2193476b14a7b7dc489d179ac65718b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Compilation\sfix\sfor\sPOSIX.
-D 2017-02-15T00:02:02.950
+C Make\sfine\stime\sgranularity\swork\son\sPOSIX.
+D 2017-02-15T00:45:53.416
 F Makefile.in edb6bcdd37748d2b1c3422ff727c748df7ffe918
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 067a6766f800cc8d72845ab61f8de4ffe8f3fc99
@@ -368,7 +368,7 @@ F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a
 F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
 F src/memjournal.c 95752936c11dc6995672d1dd783cd633eea0cc95
 F src/msvc.h 4942752b6a253116baaa8de75256c51a459a5e81
-F src/mutex.c 64604d2b9754f3698059e42316e9114823878793
+F src/mutex.c 3496ef443632d6cb7ae717a90b708de6d22ab267
 F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85
 F src/mutex_noop.c 6a0ac0bd696bbc600ed94302ae10a4337791b9d0
 F src/mutex_unix.c 68ced9b5a25dda67346b45b0e0ee303e98f2f98f
@@ -399,7 +399,7 @@ F src/shell.c a661e7ccd202b16cb5321999354699e5ee018fb2
 F src/sqlite.h.in 751ff125eb159c8f92c182b8df980a5e4f50e966
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae
-F src/sqliteInt.h 62ec0dc535758f5624d19da6ef734cb4cd24cb01
+F src/sqliteInt.h 09592c9e266f43bf55d63e5e7aa52e971d6f688c
 F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247
 F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
 F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
@@ -1555,7 +1555,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 804817549cfecbe5e1c4cea605d54cb4164f9bb6
-R 4773f670afc6566c386c1e0d5763b2af
+P 9964ad245f66cd04cb41338180b65923ef093094
+R 745137cb2b2946f80c1b72d6e4fdda27
 U mistachkin
-Z 33ca2f157e3872dfd70ee3a818230e82
+Z b8672b281346122740f82871702dad12
index 1b8e9ea8613f8b023b300bf1d5584f3abd1b3c0f..0d96885dcee30eded4f1ad6c749c742133a24b64 100644 (file)
@@ -1 +1 @@
-9964ad245f66cd04cb41338180b65923ef093094
\ No newline at end of file
+79057716d9ab9e05acdc1f204940ddd540a8f2ef
\ No newline at end of file
index 6b63c8c61685ea9be192b31538474e69ddc600b7..47fc4157a81a047da3f95f5ebdbd2f115f7b5df7 100644 (file)
@@ -92,7 +92,7 @@ int sqlite3MutexEnd(void){
 /* Return a time value for use by the mutex subsystem. */
 i64 sqlite3MutexTimeOfDay(void){
 #ifdef SQLITE_GET_MUTEX_TIME
-  return SQLITE_GET_MUTEX_TIME();
+  SQLITE_GET_MUTEX_TIME;
 #else
   return 0;
 #endif
index ce68f5fae7691a13e781334591d7bce3221eace9..3217cdfed2b5ec4cbf0fe35b8e7bcaa31204f855 100644 (file)
@@ -3541,16 +3541,21 @@ const sqlite3_mem_methods *sqlite3MemGetMemsys3(void);
   void sqlite3MutexTimeAlert(sqlite3_mutex *, i64);
 
 /*
-** This macro returns a 64-bit integer time value, in milliseconds,
-** or zero if that information is not available.
+** This macro contains code that returns a 64-bit integer time value,
+** in milliseconds, or zero if that information is not available.
 */
 # ifndef SQLITE_GET_MUTEX_TIME
 #  if SQLITE_OS_UNIX
-#   define SQLITE_GET_MUTEX_TIME()   (((i64)time(0))*1000)
+#   define SQLITE_GET_MUTEX_TIME      {                    \
+        struct timeval sNow; (void)gettimeofday(&sNow, 0); \
+        return 1000*(i64)sNow.tv_sec + sNow.tv_usec/1000;  \
+    }
 #  elif SQLITE_OS_WIN
-#   define SQLITE_GET_MUTEX_TIME()   ((i64)GetTickCount())
+#   define SQLITE_GET_MUTEX_TIME      { \
+        return (i64)GetTickCount();     \
+    }
 #  else
-#   define SQLITE_GET_MUTEX_TIME()   (0)
+#   define SQLITE_GET_MUTEX_TIME      (0)
 #  endif
 # endif
 
@@ -3590,7 +3595,7 @@ const sqlite3_mem_methods *sqlite3MemGetMemsys3(void);
 #else
 # define sqlite3MutexTimeOfDay()      (0)
 # define sqlite3MutexTimeAlert(X,Y)
-# define SQLITE_GET_MUTEX_TIME()      (0)
+# define SQLITE_GET_MUTEX_TIME
 # define SQLITE_GET_MUTEX_ID(p)       (-1)
 # define SQLITE_GET_THREAD_ID()       ((void *)0)
 #endif