Partial patch from SF #452266, by Jason Petrone.
This changes Pythread_start_thread() to return the thread ID, or -1
for an error. (It's technically an incompatible API change, but I
doubt anyone calls it.)
diff --git a/Python/thread_solaris.h b/Python/thread_solaris.h
index 66bdfa2..4c958b9 100644
--- a/Python/thread_solaris.h
+++ b/Python/thread_solaris.h
@@ -36,9 +36,10 @@
}
-int
+long
PyThread_start_new_thread(void (*func)(void *), void *arg)
{
+ thread_t tid;
struct func_arg *funcarg;
int success = 0; /* init not needed when SOLARIS_THREADS and */
/* C_THREADS implemented properly */
@@ -50,12 +51,12 @@
funcarg->func = func;
funcarg->arg = arg;
if (thr_create(0, 0, new_func, funcarg,
- THR_DETACHED | THR_NEW_LWP, 0)) {
+ THR_DETACHED | THR_NEW_LWP, &tid)) {
perror("thr_create");
free((void *) funcarg);
success = -1;
}
- return success < 0 ? 0 : 1;
+ return tid;
}
long