diff options
author | root <root> | 2008-05-12 12:36:21 +0000 |
---|---|---|
committer | root <root> | 2008-05-12 12:36:21 +0000 |
commit | 06f89d3d1a71d10755b66a4c6567412657400abb (patch) | |
tree | ca35623e53a0b44931f91075c595bc1d417a5d69 /xthread.h | |
parent | acf608862a9af73453ba86c7e587f6137208ca33 (diff) |
*** empty log message ***
Diffstat (limited to 'xthread.h')
-rw-r--r-- | xthread.h | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -55,12 +55,17 @@ typedef pthread_t thread_t; static int thread_create (thread_t *tid, void *(*proc)(void *), void *arg) { + int res; pthread_attr_t attr; pthread_attr_init (&attr); pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); - return pthread_create (tid, &attr, proc, arg) == 0; + res = pthread_create (tid, &attr, proc, arg) == 0; + + pthread_attr_destroy (&attr); + + return res; } #define respipe_read(a,b,c) PerlSock_recv ((a), (b), (c), 0) @@ -131,6 +136,8 @@ thread_create (thread_t *tid, void *(*proc)(void *), void *arg) retval = pthread_create (tid, &attr, proc, arg) == 0; pthread_sigmask (SIG_SETMASK, &oldsigset, 0); + pthread_attr_destroy (&attr); + return retval; } |