XInitThreads

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
XInitThreads(3X11)		XLIB FUNCTIONS		   XInitThreads(3X11)



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 initializa-
       tion 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 ini-
       tialization 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 success-
       fully 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



							   XInitThreads(3X11)