lkml.org 
[lkml]   [2008]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch] doc: add a chapter about trylock functions [Bug 9011]
From: Matti Linnanvuori <mattilinnanvuori@yahoo.com>

Add a chapter about trylock functions.
http://bugzilla.kernel.org/show_bug.cgi?id=9011

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com>

---

---
linux-2.6/Documentation/DocBook/kernel-locking.tmpl 2008-05-04
09:22:20.782075500 +0300
+++
linux/Documentation/DocBook/kernel-locking.tmpl 2008-05-04 10:13:16.168549500
+0300
@@ -702,6 +702,38
@@

</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>
+
+ <para>
+
<function>down_trylock()</function> does not suspend your
task
+ but returns 0 if it could get the semaphore on the first try
or
+ non-zero if not. The return value is the inverse of that of
+
<function>spin_trylock()</function> and
<function>mutex_trylock()
+ </function>.
<function>down_trylock</function> can be used in all contexts.
+
</para>
+</chapter>

<chapter
id="Examples">
<title>Common
Examples</title>



____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


\
 
 \ /
  Last update: 2008-05-04 09:35    [W:0.035 / U:7.752 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site