Messages in this thread | | | Date | Sun, 4 May 2008 00:32:02 -0700 (PDT) | From | Matti Linnanvuori <> | 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
| |