CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2009/11/27 12:42:24
Modified files:
sys/kern : init_sysent.c kern_exit.c syscalls.c
syscalls.master
lib/librthread : Makefile rthread.c rthread.h rthread_fork.c
Removed files:
lib/librthread : rthread_reaper.c
Log message:
Change threxit() to take a pointer to a pid_t to zero out from the
kernel so that librthread can detect when a thread is completely
done with its stack without need a kqueue. The dying thread moves
itself to a GC list, other threads scan the GC list on pthread_create()
and pthread_join() and free the stack and handle once the thread's
thread id is zeroed.
"get it in" deraadt@, tedu@, cheers by others