1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 9<title>OSLockMutex</title> 10</head> 11 12<body> 13 14<h1>OSLockMutex</h1> 15 16 17<h2>C Specification</h2> 18 19<dl> 20<dd><pre><code>#include <revolution/os.h></code></pre> 21 </dd> 22<dd><pre><code>void OSLockMutex (OSMutex* mutex);</code></pre> 23 </dd> 24</dl> 25 26<h2>Arguments</h2> 27<TABLE border="1" cellpadding="3" cellspacing="0.1"> 28 <tr> 29<TD width="120" bgcolor="#ffffe8"><i><b><code><STRONG><EM><CODE>mutex</CODE></EM></STRONG></code></b></i></TD> 30<TD width="520">Pointer to mutex.</TD> 31 </tr> 32</TABLE> 33<h2>Return Values</h2> 34 35<p>None.</p> 36 37<h2>Description</h2> 38 39<p>The calling thread tries to lock the mutex that <STRONG><EM><CODE>mutex</CODE></EM></STRONG> specifies.</p> 40 41<p>If another thread has <code><b><i>mutex</i></b></code> locked, the calling thread temporarily stops until <code><b><i>mutex</i></b></code> is released. If the priority of the calling thread is higher than the thread that owns a mutex, the inheritance mechanism of the normal priority promotes the valid priority of the thread that owns a mutex.</p> 42 43<p>If the current thread already owns <FONT face="Courier New"><EM><STRONG>mutex</STRONG></EM></FONT>, unnecessary calls to the <code>OSLockMutex</code> function will return immediately. Note that each call to the <code>OSUnlockMutex</code> function must correspond to a call to the <code>OSLockMutex</code> function; otherwise, mutex will remain locked. This allows one thread to safely nest multiple calls to the <code>OSLockMutex</code> and <code>OSUnlockMutex</code> functions for the same mutex.</p> 44 45 46 47<h2>See Also</h2> 48 49<p><a href="../list.html#Thread" target="contents">Thread Functions</a>, <a href="../list.html#ThreadSynchronization" target="contents">Thread Synchronization Functions</a>, <a href="OSInitCond.html"><code>OSInitCond</code></a>, <a href="OSInitMutex.html"><code>OSInitMutex</code></a>, <a href="OSSignalCond.html"><code>OSSignalCond</code></a>, <a href="OSTryLockMutex.html"><code>OSTryLockMutex</code></a>, <a href="OSUnlockMutex.html"><code>OSUnlockMutex</code></a>, <a href="OSWaitCond.html"><code>OSWaitCond</code></a></p> 50 51<h2>Revision History</h2><p></p> 52 53<P>03/01/2006 Initial version.</p> 54 55</body> 56</html>