commit 803292c631c8e80a0596a011a901e72c8e0e0edc from: rsc date: Tue Jan 18 20:53:12 2005 UTC proccreate race commit - 1c8159def559fc9bcf5070d90901c84f996ab59a commit + 803292c631c8e80a0596a011a901e72c8e0e0edc blob - b154ce6e0530e2b5c2592c483d11e1f5add92d27 blob + ff22bbaa89a940009c4b32ff8d61363e8a8ba698 --- src/libthread/thread.c +++ src/libthread/thread.c @@ -171,13 +171,15 @@ threadcreate(void (*fn)(void*), void *arg, uint stack) int proccreate(void (*fn)(void*), void *arg, uint stack) { + int id; _Thread *t; Proc *p; p = procalloc(); t = _threadcreate(p, fn, arg, stack); + id = t->id; /* t might be freed after _procstart */ _procstart(p, scheduler); - return t->id; + return id; } void