HELPLIB.HLB  —  DCE  DCE_THREADS, Application Routines, pthread_lock_global_np
 NAME

    pthread_lock_global_np - Locks the global mutex

 SYNOPSIS

     #include <pthread.h>

     void pthread_lock_global_np();

 DESCRIPTION

 The pthread_lock_global_np() routine locks the global mutex. If the glo-
 bal mutex is currently held by another thread when a thread calls this
 routine, the thread waits for the global mutex to become available.
 The thread that has locked the global mutex becomes its current owner
 and remains the owner until the same thread has unlocked it. This rou-
 tine returns with the global mutex in the locked state and with the
 current thread as the global mutex's current owner.

 Use the global mutex when calling a library package that is not designed
 to run in a multithreaded environment. (Unless the documentation for a
 library function specifically states that it is compatible with mul-
 tithreading, assume that it is not compatible; in other words, assume it
 is nonreentrant.)

 The global mutex is one lock. Any code that calls any function that is
 not known to be reentrant uses the same lock. This prevents dependencies
 among threads calling library functions and those functions calling
 other functions, and so on.

 The global mutex is a recursive mutex. A thread that has locked the glo-
 bal mutex can relock it without deadlocking. (The locking thread must
 call pthread_unlock_global_np() as many times as it called this routine
 to allow another thread to lock the global mutex.)

 This routine is not portable.

 RETURN VALUES

 No value is returned.

 RELATED INFORMATION

     FUNCTIONS:  pthread_mutexattr_setkind_np
                 pthread_mutex_lock
                 pthread_mutex_unlock
                 pthread_unlock_global_np
Close Help