Eric Pouech wrote:
well, the kill_thread in that case in only done when the waiting thread
also died while waiting (ie has been killed by some other way) (in
normal cases, the wait operation on the waiting side would just return
an error code)
the I'm not still conviced this path is actually executed in that case
When the process is terminating because the user pressed ^C, the waiting
thread will already be dead, so send_thread_wakeup will kill it.
what lead you to write the patch ?
valgrind reported that wineserver accessed free'd memory.
On IRC, Alexandre suggested the fix is to change kill_process() to keep
killing the first thread in the list until there's no more threads.
Mike