etc/services - sync with NetBSD-8
[minix.git] / external / bsd / libevent / man / evthread_condition_callbacks.3
blob5945565b29ffb5d85531e43d85718b2dd4f684c0
1 .TH "evthread_condition_callbacks" 3 "Tue Jan 27 2015" "libevent" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 evthread_condition_callbacks \- 
6 .PP
7 This structure describes the interface a threading library uses for condition variables\&.  
9 .SH SYNOPSIS
10 .br
11 .PP
12 .PP
13 \fC#include <thread\&.h>\fP
14 .SS "Data Fields"
16 .in +1c
17 .ti -1c
18 .RI "void *(* \fBalloc_condition\fP )(unsigned condtype)"
19 .br
20 .RI "\fIFunction to allocate and initialize a new condition variable\&. \fP"
21 .ti -1c
22 .RI "int \fBcondition_api_version\fP"
23 .br
24 .RI "\fIThe current version of the conditions API\&. \fP"
25 .ti -1c
26 .RI "void(* \fBfree_condition\fP )(void *cond)"
27 .br
28 .RI "\fIFunction to free a condition variable\&. \fP"
29 .ti -1c
30 .RI "int(* \fBsignal_condition\fP )(void *cond, int broadcast)"
31 .br
32 .RI "\fIFunction to signal a condition variable\&. \fP"
33 .ti -1c
34 .RI "int(* \fBwait_condition\fP )(void *cond, void *lock, const struct timeval *timeout)"
35 .br
36 .RI "\fIFunction to wait for a condition variable\&. \fP"
37 .in -1c
38 .SH "Detailed Description"
39 .PP 
40 This structure describes the interface a threading library uses for condition variables\&. 
42 It's used to tell evthread_set_condition_callbacks how to use locking on this platform\&. 
43 .SH "Field Documentation"
44 .PP 
45 .SS "void*(* evthread_condition_callbacks::alloc_condition)(unsigned condtype)"
47 .PP
48 Function to allocate and initialize a new condition variable\&. Returns the condition variable on success, and NULL on failure\&. The 'condtype' argument will be 0 with this API version\&. 
49 .SS "int evthread_condition_callbacks::condition_api_version"
51 .PP
52 The current version of the conditions API\&. Set this to EVTHREAD_CONDITION_API_VERSION 
53 .SS "void(* evthread_condition_callbacks::free_condition)(void *cond)"
55 .PP
56 Function to free a condition variable\&. 
57 .SS "int(* evthread_condition_callbacks::signal_condition)(void *cond, int broadcast)"
59 .PP
60 Function to signal a condition variable\&. If 'broadcast' is 1, all threads waiting on 'cond' should be woken; otherwise, only on one thread is worken\&. Should return 0 on success, -1 on failure\&. This function will only be called while holding the associated lock for the condition\&. 
61 .SS "int(* evthread_condition_callbacks::wait_condition)(void *cond, void *lock, const struct timeval *timeout)"
63 .PP
64 Function to wait for a condition variable\&. The lock 'lock' will be held when this function is called; should be released while waiting for the condition to be come signalled, and should be held again when this function returns\&. If timeout is provided, it is interval of seconds to wait for the event to become signalled; if it is NULL, the function should wait indefinitely\&.
65 .PP
66 The function should return -1 on error; 0 if the condition was signalled, or 1 on a timeout\&. 
68 .SH "Author"
69 .PP 
70 Generated automatically by Doxygen for libevent from the source code\&.