1XInitThreads(3)                 XLIB FUNCTIONS                 XInitThreads(3)
2
3
4

NAME

6       XInitThreads, XLockDisplay, XUnlockDisplay - multi-threading support
7

SYNTAX

9       Status XInitThreads(void);
10
11       void XLockDisplay(Display *display);
12
13       void XUnlockDisplay(Display *display);
14

ARGUMENTS

16       display   Specifies the connection to the X server.
17

DESCRIPTION

19       The  XInitThreads  function  initializes  Xlib  support  for concurrent
20       threads.  This function must  be  the  first  Xlib  function  a  multi-
21       threaded program calls, and it must complete before any other Xlib call
22       is made.  This function returns a nonzero status if initialization  was
23       successful; otherwise, it returns zero.  On systems that do not support
24       threads, this function always returns zero.
25
26       It is only necessary to call this function if  multiple  threads  might
27       use Xlib concurrently.  If all calls to Xlib functions are protected by
28       some other access mechanism (for example, a mutual exclusion lock in  a
29       toolkit  or  through explicit client programming), Xlib thread initial‐
30       ization is not required.  It is recommended that  single-threaded  pro‐
31       grams not call this function.
32
33
34       The  XLockDisplay  function  locks out all other threads from using the
35       specified display.  Other threads attempting to use  the  display  will
36       block  until  the  display is unlocked by this thread.  Nested calls to
37       XLockDisplay work correctly; the display will not actually be  unlocked
38       until XUnlockDisplay has been called the same number of times as XLock‐
39       Display.  This function has no effect unless Xlib was successfully ini‐
40       tialized for threads using XInitThreads.
41
42       The  XUnlockDisplay  function allows other threads to use the specified
43       display again.  Any threads that have blocked on the  display  are  al‐
44       lowed to continue.  Nested locking works correctly; if XLockDisplay has
45       been called multiple times by a thread,  then  XUnlockDisplay  must  be
46       called  an  equal  number  of  times before the display is actually un‐
47       locked.  This function has no effect unless Xlib was successfully  ini‐
48       tialized for threads using XInitThreads.
49

SEE ALSO

51       Xlib - C Language X Interface
52
53
54
55X Version 11                     libX11 1.7.0                  XInitThreads(3)
Impressum