manpagez: man pages & more
man XInitThreads(3)
Home | html | info | man
XInitThreads(3)                  XLIB FUNCTIONS                  XInitThreads(3)




NAME

       XInitThreads, XLockDisplay, XUnlockDisplay - multi-threading support


SYNTAX

       Status XInitThreads(void);

       Status XFreeThreads(void);

       void XLockDisplay(Display *display);

       void XUnlockDisplay(Display *display);


ARGUMENTS

       display   Specifies the connection to the X server.


DESCRIPTION

       The XInitThreads function initializes Xlib support for concurrent
       threads.  This function must be the first Xlib function a multi-threaded
       program calls, and it must complete before any other Xlib call is made.
       This function returns a nonzero status if initialization was successful;
       otherwise, it returns zero.  On systems that do not support threads, this
       function always returns zero.

       It is only necessary to call this function if multiple threads might use
       Xlib concurrently.  If all calls to Xlib functions are protected by some
       other access mechanism (for example, a mutual exclusion lock in a toolkit
       or through explicit client programming), Xlib thread initialization is
       not required.  It is recommended that single-threaded programs not call
       this function.

       The XFreeThreads function frees the memory allocated by XInitThreads.

       The XLockDisplay function locks out all other threads from using the
       specified display.  Other threads attempting to use the display will
       block until the display is unlocked by this thread.  Nested calls to
       XLockDisplay work correctly; the display will not actually be unlocked
       until XUnlockDisplay has been called the same number of times as
       XLockDisplay.  This function has no effect unless Xlib was successfully
       initialized for threads using XInitThreads.

       The XUnlockDisplay function allows other threads to use the specified
       display again.  Any threads that have blocked on the display are allowed
       to continue.  Nested locking works correctly; if XLockDisplay has been
       called multiple times by a thread, then XUnlockDisplay must be called an
       equal number of times before the display is actually unlocked.  This
       function has no effect unless Xlib was successfully initialized for
       threads using XInitThreads.


SEE ALSO

       Xlib - C Language X Interface



X Version 11                      libX11 1.8.3                   XInitThreads(3)

xorg-libX11 1.8.3 - Generated Thu Dec 22 13:14:04 CST 2022
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.