From 06f89d3d1a71d10755b66a4c6567412657400abb Mon Sep 17 00:00:00 2001 From: root Date: Mon, 12 May 2008 12:36:21 +0000 Subject: *** empty log message *** --- xthread.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'xthread.h') diff --git a/xthread.h b/xthread.h index f97dbba..dfb8b0d 100644 --- a/xthread.h +++ b/xthread.h @@ -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; } -- cgit v1.2.3