a2e73b7516
There was previous discussion of a race with joinable threads but to be honest I can neither exactly remember the race, or recrease the issue. I believe it may have had to do with pthread_create() returning without having set kt->tid since this was done in the created thread. If that was the race then I've 'fixed' it by ensuring the thread id is set in the thread AND as the first pthread_create() argument. Why this wasn't done originally I'm not sure, with luck Ricardo remembers. Additionally, explicitly set a PAGESIZE guard frame at the end of the stack to aid in detecting stack overflow. And add some conditional logic to set STACK_SIZE correctly for Solaris. |
||
---|---|---|
.. | ||
include/sys | ||
kernel.c | ||
taskq.c | ||
util.c |