… | |
… | |
78 | #define _REENTRANT 1 |
78 | #define _REENTRANT 1 |
79 | |
79 | |
80 | #include <unistd.h> |
80 | #include <unistd.h> |
81 | #include <fcntl.h> |
81 | #include <fcntl.h> |
82 | #include <signal.h> |
82 | #include <signal.h> |
|
|
83 | #include <limits.h> |
83 | #include <pthread.h> |
84 | #include <pthread.h> |
84 | |
85 | |
85 | typedef pthread_mutex_t mutex_t; |
86 | typedef pthread_mutex_t mutex_t; |
86 | #if __linux && defined (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP) |
87 | #if __linux && defined (PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP) |
87 | # define X_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP |
88 | # define X_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP |
… | |
… | |
108 | sigset_t fullsigset, oldsigset; |
109 | sigset_t fullsigset, oldsigset; |
109 | pthread_attr_t attr; |
110 | pthread_attr_t attr; |
110 | |
111 | |
111 | pthread_attr_init (&attr); |
112 | pthread_attr_init (&attr); |
112 | pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); |
113 | pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); |
|
|
114 | pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN < sizeof (long) * 4096 |
|
|
115 | ? sizeof (long) * 4096 : PTHREAD_STACK_MIN); |
113 | #ifdef PTHREAD_SCOPE_PROCESS |
116 | #ifdef PTHREAD_SCOPE_PROCESS |
114 | pthread_attr_setscope (&attr, PTHREAD_SCOPE_PROCESS); |
117 | pthread_attr_setscope (&attr, PTHREAD_SCOPE_PROCESS); |
115 | #endif |
118 | #endif |
116 | |
119 | |
117 | sigfillset (&fullsigset); |
120 | sigfillset (&fullsigset); |