XQuartz: Cleaned up startup and thread creation a tad.

(cherry picked from commit c861fe00e112b21ee0156d09a6cd5281642a1dcc)
This commit is contained in:
Jeremy Huddleston 2008-04-26 19:21:05 -07:00
commit ef1c520537
10 changed files with 96 additions and 99 deletions

View file

@ -33,8 +33,8 @@
#include <execinfo.h>
pthread_t SERVER_THREAD;
pthread_t APPKIT_THREAD;
pthread_t APPKIT_THREAD_ID;
pthread_t SERVER_THREAD_ID;
void spewCallStack(void) {
void* callstack[128];
@ -48,7 +48,7 @@ void spewCallStack(void) {
free(strs);
}
void _threadAssert(pthread_t tid, const char *file, const char *fun, int line) {
void _threadSafetyAssert(pthread_t tid, const char *file, const char *fun, int line) {
if(pthread_equal(pthread_self(), tid))
return;
@ -58,3 +58,13 @@ void _threadAssert(pthread_t tid, const char *file, const char *fun, int line) {
file, fun, line);
spewCallStack();
}
const char *threadSafetyID(pthread_t tid) {
if(pthread_equal(tid, APPKIT_THREAD_ID)) {
return "Appkit Thread";
} else if(pthread_equal(tid, SERVER_THREAD_ID)) {
return "Xserver Thread";
} else {
return "Unknown Thread";
}
}