Provided by: libx11-doc_1.6.4-3ubuntu0.4_all bug

NAME

       XInitThreads, XLockDisplay, XUnlockDisplay - multi-threading support

SYNTAX

       Status XInitThreads(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 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