doc: add a chapter about trylock functions [Bug 9011]
Add a chapter about trylock functions. http://bugzilla.kernel.org/show_bug.cgi?id=9011 Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (removed down_trylock)
This commit is contained in:
parent
34e4e2fef4
commit
4d2e7d0d77
1 changed files with 25 additions and 0 deletions
|
@ -703,6 +703,31 @@
|
|||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="trylock-functions">
|
||||
<title>The trylock Functions</title>
|
||||
<para>
|
||||
There are functions that try to acquire a lock only once and immediately
|
||||
return a value telling about success or failure to acquire the lock.
|
||||
They can be used if you need no access to the data protected with the lock
|
||||
when some other thread is holding the lock. You should acquire the lock
|
||||
later if you then need access to the data protected with the lock.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<function>spin_trylock()</function> does not spin but returns non-zero if
|
||||
it acquires the spinlock on the first try or 0 if not. This function can
|
||||
be used in all contexts like <function>spin_lock</function>: you must have
|
||||
disabled the contexts that might interrupt you and acquire the spin lock.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<function>mutex_trylock()</function> does not suspend your task
|
||||
but returns non-zero if it could lock the mutex on the first try
|
||||
or 0 if not. This function cannot be safely used in hardware or software
|
||||
interrupt contexts despite not sleeping.
|
||||
</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="Examples">
|
||||
<title>Common Examples</title>
|
||||
<para>
|
||||
|
|
Loading…
Reference in a new issue