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 &lt;revolution/os.h&gt;</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>