From: dan Date: Fri, 29 Jul 2016 14:31:30 +0000 (+0000) Subject: Enhance a debugging log message to better identify a mutex. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=754458741203e21776bab1dac6d5d21ae463ebe7;p=thirdparty%2Fsqlite.git Enhance a debugging log message to better identify a mutex. FossilOrigin-Name: e60cb6d8852ebf42659c7f2e86a1f6a2492b4664 --- diff --git a/manifest b/manifest index e32a7733ba..e929ff0839 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Use\s__sync_synchronous(),\swhen\savailable,\sinstead\sof\sa\smutex\swhen\sa\smemory\nbarrier\sis\sneeded. -D 2016-07-29T14:23:23.484 +C Enhance\sa\sdebugging\slog\smessage\sto\sbetter\sidentify\sa\smutex. +D 2016-07-29T14:31:30.854 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -205,7 +205,7 @@ F src/memjournal.c 3eb2c0b51adbd869cb6a44780323f05fa904dc85 F src/mutex.c 84a073c9a23a8d7bdd2ea832522d1730df18812c F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85 F src/mutex_noop.c f3f09fd7a2eb4287cfc799753ffc30380e7b71a1 -F src/mutex_unix.c 9af77da894a1d5e16d5b8c11659b4c6de7ca1729 +F src/mutex_unix.c 3a24b5f2e46c3a676606a28ac5d00c0462231f98 F src/mutex_w32.c 06bfff9a3a83b53389a51a967643db3967032e1e F src/notify.c 9711a7575036f0d3040ba61bc6e217f13a9888e7 F src/os.c 1b147e4cf7cc39e618115c14a086aed44bc91ace @@ -1207,7 +1207,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 33c7ef7aca69f9b714bc25b2af5ae2a189d3ba78 -R 2ebf89f18db464fb30dce64acaa43e4c -U drh -Z 3585d2cb51ce851abd09e86c546f6117 +P 7d4562e9d577e21406e05300b9a1ad56fded2309 +R 710a8735eaf385edb6fcbb8a5dae0f50 +U dan +Z 556a1321b6b2b74422c424e03f2895a3 diff --git a/manifest.uuid b/manifest.uuid index 082a80b4a3..23ae5967a1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7d4562e9d577e21406e05300b9a1ad56fded2309 \ No newline at end of file +e60cb6d8852ebf42659c7f2e86a1f6a2492b4664 \ No newline at end of file diff --git a/src/mutex_unix.c b/src/mutex_unix.c index f5a652041c..3ef651b0d2 100644 --- a/src/mutex_unix.c +++ b/src/mutex_unix.c @@ -255,8 +255,13 @@ static void pthreadMutexEnter(sqlite3_mutex *p){ #endif iTimer = sqlite3Hwtime() - iTimer; if( iTimer>100000 ){ + sqlite3_mutex *pMaster = sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MASTER); + int id = -1; + if( p>=pMaster && p<=&pMaster[SQLITE_MUTEX_STATIC_APP3-2] ){ + id = (int)(p - pMaster) + 2; + } sqlite3_log(SQLITE_NOTICE, "slow mutex: %lld cycles on %d/%p", - iTimer, MUTEX_ID(p), p); + iTimer, id, p); } #endif