diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | pthread_self.c | 3 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2003-09-01 Ross Johnson <rpj@callisto.canberra.edu.au>
+
+ * pthread_self.c (pthread_self): The newly aquired pthread_t must be
+ assigned to the reuse stack, not freed, if the routine fails somehow.
+
2003-08-13 Ross Johnson <rpj@ise.canberra.edu.au>
* pthread_getschedparam.c (pthread_getschedparam): An invalid thread ID
diff --git a/pthread_self.c b/pthread_self.c index bd67e83..e7a81b8 100644 --- a/pthread_self.c +++ b/pthread_self.c @@ -110,7 +110,8 @@ pthread_self (void) FALSE, DUPLICATE_SAME_ACCESS ) ) { - free( self ); + /* Thread structs are never freed. */ + ptw32_threadReusePush(self); return (NULL); } #endif |