📄 mutex_held.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Mutex Verifcation Routines</title><style type="text/css">body { margin: auto; font-family: "Verdana" "sans-serif"; padding: 8px 1%;}a { color: #45735f }a:visited { color: #734559 }.logo { position:absolute; margin:3px; }.tagline { float:right; text-align:right; font-style:italic; width:240px; margin:12px; margin-top:58px;}.toolbar { font-variant: small-caps; text-align: center; line-height: 1.6em; margin: 0; padding:1px 8px;}.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }.toolbar a:visited { color: white; }.toolbar a:hover { color: #80a796; background: white; }.content { margin: 5%; }.content dt { font-weight:bold; }.content dd { margin-bottom: 25px; margin-left:20%; }.content ul { padding:0px; padding-left: 15px; margin:0px; }/* rounded corners */.se { background: url(../images/se.png) 100% 100% no-repeat #80a796}.sw { background: url(../images/sw.png) 0% 100% no-repeat }.ne { background: url(../images/ne.png) 100% 0% no-repeat }.nw { background: url(../images/nw.png) 0% 0% no-repeat }</style><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body><div><!-- container div to satisfy validator --><a href="../index.html"><img class="logo" src="../images/SQLite.gif" alt="SQLite Logo" border="0"></a><div><!-- IE hack to prevent disappearing logo--></div><div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div><table width=100% style="clear:both"><tr><td> <div class="se"><div class="sw"><div class="ne"><div class="nw"> <div class="toolbar"> <a href="../about.html">About</a> <a href="../sitemap.html">Sitemap</a> <a href="../docs.html">Documentation</a> <a href="../download.html">Download</a> <a href="../copyright.html">License</a> <a href="../news.html">News</a> <a href="http://www.sqlite.org/cvstrac/index">Developers</a> <a href="../support.html">Support</a> </div></div></div></div></div></td></tr></table> <a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Mutex Verifcation Routines</h2><blockquote><pre>int sqlite3_mutex_held(sqlite3_mutex*);int sqlite3_mutex_notheld(sqlite3_mutex*);</pre></blockquote><p>The sqlite3_mutex_held() and sqlite3_mutex_notheld() routinesare intended for use inside assert() statements. The SQLite corenever uses these routines except inside an assert() and applicationsare advised to follow the lead of the core. The core onlyprovides implementations for these routines when it is compiledwith the SQLITE_DEBUG flag. External mutex implementationsare only required to provide these routines if SQLITE_DEBUG isdefined and if NDEBUG is not defined.</p><p> These routines should return true if the mutex in their argumentis held or not held, respectively, by the calling thread.</p><p> The implementation is not required to provided versions of theseroutines that actually work.If the implementation does not provide workingversions of these routines, it should at least provide stubsthat always return true so that one does not get spuriousassertion failures.</p><p> If the argument to sqlite3_mutex_held() is a NULL pointer thenthe routine should return 1. This seems counter-intuitive sinceclearly the mutex cannot be held if it does not exist. But thethe reason the mutex does not exist is because the build is notusing mutexes. And we do not want the assert() containing thecall to sqlite3_mutex_held() to fail, so a non-zero return isthe appropriate thing to do. The sqlite3_mutex_notheld()interface should also return 1 when given a NULL pointer.</p><p>See also lists of <a href="objlist.html">Objects</a>, <a href="constlist.html">Constants</a>, and <a href="funclist.html">Functions</a>.</p><hr><small><i>This page last modified 2008/05/12 13:08:44 UTC</i></small></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -