autodoc.git
/
traditional.xml
version
»
Context lines:
10
20
40
80
file
none
3
autodoc.git/traditional.xml:1:
<?xml version='1.0' encoding='utf-8'?>
-
<manual time-stamp='2020-06-
28
' version='Pike v8.1.13'>
+
<manual time-stamp='2020-06-
29
' version='Pike v8.1.13'>
<dir name='./traditional_manual'> <file name='./traditional_manual/index.html'> <chapter title='Table of Contents' unnumbered='1'> <dl><dt><url href='index.html'>Table of Contents</url></dt> <dt><url href='chapter_1.html'>1. Introduction</url></dt> <dd><url href='chapter_1.html#1.1'>1.1. Overview</url></dd> <dd><url href='chapter_1.html#1.2'>1.2. The history of Pike</url></dd> <dd><url href='chapter_1.html#1.3'>1.3. A comparison with other languages</url></dd> <dd><url href='chapter_1.html#1.4'>1.4. What is Pike</url></dd> <dd><url href='chapter_1.html#1.5'>1.5. Pike License</url></dd>
autodoc.git/traditional.xml:93044:
automatically be unlocked.</p> <p> The <ref resolved='predef::Thread.Mutex.shared_lock.type'>type</ref> argument specifies what <ref resolved='predef::Thread.Mutex.lock'>lock()</ref> should do if the mutex is already locked exclusively by this thread:</p> <int><group><value>0</value><text><p>Throw an error.</p> </text></group><group><value>1</value><text><p>Sleep until the mutex is unlocked. Useful if some other thread will unlock it.</p> </text></group><group><value>2</value><text><p>Return zero. This allows recursion within a locked region of code, but in conjunction with other locks it easily leads to unspecified locking order and therefore a risk for deadlocks.</p> </text></group></int>
-
</text><group><note/><text><p>If the mutex is destructed while it's locked or while threads are
+
</text><group><note/><text><p>
Note that if the current thread already holds a shared key,
+
a new will be created without waiting, and regardless of
+
the value of <ref resolved='predef::Thread.Mutex.shared_lock.type'>type</ref>.</p>
+
</text></group><group><note/><text><p>
If the mutex is destructed while it's locked or while threads are
waiting on it, it will continue to exist internally until the last thread has stopped waiting and the last <ref resolved='predef::Thread.MutexKey'>MutexKey</ref> has disappeared, but further calls to the functions in this class will fail as is usual for destructed objects.</p>
-
</text></group><group><note/><text><p>A thread may hold several shared locks concurrently.</p>
+
</text></group><group><seealso/><text><p><ref resolved='predef::Thread.Mutex.lock'>lock()</ref>, <ref resolved='predef::Thread.Mutex.trylock'>trylock()</ref>, <ref resolved='predef::Thread.Mutex.try_shared_lock'>try_shared_lock()</ref></p> </text></group></doc> <method name='shared_lock'> <arguments/> <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype> </method> <method name='shared_lock'> <arguments><argument name='type'><type><int/></type></argument></arguments> <returntype><object resolved='predef::Thread.MutexKey'>MutexKey</object></returntype> </method>