blob: 938da76112d2ace2f75f37f5113dd8696c9ba5ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<table class="head">
<tr>
<td class="head-ltitle">PTHREAD_MUTEX_TRYLOCK(3)</td>
<td class="head-vol">Library Functions Manual</td>
<td class="head-rtitle">PTHREAD_MUTEX_TRYLOCK(3)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">pthread_mutex_trylock</code> —
<span class="Nd">attempt to lock a mutex without blocking</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="LIBRARY"><a class="permalink" href="#LIBRARY">LIBRARY</a></h1>
<p class="Pp"><span class="Lb">POSIX Threads Library (libpthread,
-lpthread)</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="In">#include
<<a class="In">pthread.h</a>></code></p>
<p class="Pp"><var class="Ft">int</var>
<br/>
<code class="Fn">pthread_mutex_trylock</code>(<var class="Fa" style="white-space: nowrap;">pthread_mutex_t
*mutex</var>);</p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The
<a class="permalink" href="#pthread_mutex_trylock"><code class="Fn" id="pthread_mutex_trylock">pthread_mutex_trylock</code></a>()
function locks <var class="Fa">mutex</var>. If the mutex is already locked,
<code class="Fn">pthread_mutex_trylock</code>() will not block waiting for
the mutex, but will return an error condition.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="RETURN_VALUES"><a class="permalink" href="#RETURN_VALUES">RETURN
VALUES</a></h1>
<p class="Pp">If successful, <code class="Fn">pthread_mutex_trylock</code>()
will return zero, otherwise an error number will be returned to indicate the
error.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="ERRORS"><a class="permalink" href="#ERRORS">ERRORS</a></h1>
<p class="Pp">The <code class="Fn">pthread_mutex_trylock</code>() function will
fail if:</p>
<dl class="Bl-tag">
<dt id="EINVAL">[<a class="permalink" href="#EINVAL"><code class="Er">EINVAL</code></a>]</dt>
<dd>The value specified by <var class="Fa">mutex</var> is invalid.</dd>
<dt id="EBUSY">[<a class="permalink" href="#EBUSY"><code class="Er">EBUSY</code></a>]</dt>
<dd><var class="Fa">Mutex</var> is already locked.</dd>
<dt id="EOWNERDEAD">[<a class="permalink" href="#EOWNERDEAD"><code class="Er">EOWNERDEAD</code></a>]</dt>
<dd>The argument <var class="Fa">mutex</var> points to a robust mutex and the
process containing the previous owning thread terminated while holding the
mutex lock. The lock was granted to the caller and it is up to the new
owner to make the state consistent.</dd>
<dt id="ENOTRECOVERABLE">[<a class="permalink" href="#ENOTRECOVERABLE"><code class="Er">ENOTRECOVERABLE</code></a>]</dt>
<dd>The state protected by the <var class="Fa">mutex</var> is not
recoverable.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">pthread_mutex_consistent(3)</a>,
<a class="Xr">pthread_mutex_destroy(3)</a>,
<a class="Xr">pthread_mutex_init(3)</a>,
<a class="Xr">pthread_mutex_lock(3)</a>,
<a class="Xr">pthread_mutex_unlock(3)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="STANDARDS"><a class="permalink" href="#STANDARDS">STANDARDS</a></h1>
<p class="Pp">The <code class="Fn">pthread_mutex_trylock</code>() function
conforms to <span class="St">ISO/IEC 9945-1:1996
(“POSIX.1”)</span>.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">August 7, 2019</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|