]> granicus.if.org Git - python/commitdiff
Rob Riggs wrote:
authorGuido van Rossum <guido@python.org>
Mon, 15 Mar 1999 20:27:53 +0000 (20:27 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 15 Mar 1999 20:27:53 +0000 (20:27 +0000)
"""
Spec says that on success pthread_create returns 0. It does not say
that an error code will be < 0. Linux glibc2 pthread_create() returns
ENOMEM (12) when one exceed process limits. (It looks like it should
return EAGAIN, but that's another story.)

For reference, see:
http://www.opengroup.org/onlinepubs/7908799/xsh/pthread_create.html
"""

[I have a feeling that similar bugs were fixed before; perhaps someone
could check that all error checks no check for != 0?]

Python/thread_pthread.h

index 0b4041a3a986d54f10439015b2ac611caf5f6217..fd03e91611d3a61af382496c7711442a7c1f5b9c 100644 (file)
@@ -178,14 +178,14 @@ int PyThread_start_new_thread _P2(func, void (*func) _P((void *)), arg, void *ar
 #endif
                                 );
 
-       if (success >= 0) {
+       if (success == 0) {
 #if defined(PY_PTHREAD_D4) || defined(PY_PTHREAD_D6) || defined(PY_PTHREAD_D7)
                pthread_detach(&th);
 #elif defined(PY_PTHREAD_STD)
                pthread_detach(th);
 #endif
        }
-       return success < 0 ? 0 : 1;
+       return success != 0 ? 0 : 1;
 }
 
 long PyThread_get_thread_ident _P0()