Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
b89495ae09aa0e9652475b2ba1943dfd |
User & Date: | drh 2015-09-26 03:23:29.340 |
Context
2015-09-26
| ||
03:31 | Fix the title of the documentation on sqlite3_value_subtype(). This is a comment change only. (check-in: b790235424 user: drh tags: trunk) | |
03:23 | Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. (check-in: b89495ae09 user: drh tags: trunk) | |
01:28 | Remove an assert in the windows worker-thread logic that can fail in a race condition. (check-in: d7bfb96092 user: drh tags: trunk) | |
Changes
Changes to src/mutex_unix.c.
︙ | ︙ | |||
77 78 79 80 81 82 83 | } static int pthreadMutexNotheld(sqlite3_mutex *p){ return p->nRef==0 || pthread_equal(p->owner, pthread_self())==0; } #endif /* | | > > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | } static int pthreadMutexNotheld(sqlite3_mutex *p){ return p->nRef==0 || pthread_equal(p->owner, pthread_self())==0; } #endif /* ** Try to provide a memory barrier operation, needed for initialization ** and also for the implementation of xShmBarrier in the VFS in cases ** where SQLite is compiled without mutexes. */ void sqlite3MemoryBarrier(void){ #if defined(SQLITE_MEMORY_BARRIER) SQLITE_MEMORY_BARRIER; #elif defined(__GNUC__) && GCC_VERSION>=4001000 __sync_synchronize(); #endif |
︙ | ︙ |
Changes to src/mutex_w32.c.
︙ | ︙ | |||
74 75 76 77 78 79 80 | static int winMutexNotheld(sqlite3_mutex *p){ DWORD tid = GetCurrentThreadId(); return winMutexNotheld2(p, tid); } #endif /* | | > > | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | static int winMutexNotheld(sqlite3_mutex *p){ DWORD tid = GetCurrentThreadId(); return winMutexNotheld2(p, tid); } #endif /* ** Try to provide a memory barrier operation, needed for initialization ** and also for the xShmBarrier method of the VFS in cases when SQLite is ** compiled without mutexes (SQLITE_THREADSAFE=0). */ void sqlite3MemoryBarrier(void){ #if defined(SQLITE_MEMORY_BARRIER) SQLITE_MEMORY_BARRIER; #elif defined(__GNUC__) __sync_synchronize(); #else |
︙ | ︙ |