major improvements to cancellation handling
authorRich Felker <dalias@aerifal.cx>
Tue, 29 Mar 2011 16:58:22 +0000 (12:58 -0400)
committerRich Felker <dalias@aerifal.cx>
Tue, 29 Mar 2011 16:58:22 +0000 (12:58 -0400)
commitbf619d82c82052741323aa63c107fbd346c8aaba
tree11f97d73195bb633df6c6e679ab65a7f8f0fd477
parent70c31c7bd779400d2eb56dcb4075bb37227081db
major improvements to cancellation handling

- there is no longer any risk of spoofing cancellation requests, since
  the cancel flag is set in pthread_cancel rather than in the signal
  handler.

- cancellation signal is no longer unblocked when running the
  cancellation handlers. instead, pthread_create will cause any new
  threads created from a cancellation handler to unblock their own
  cancellation signal.

- various tweaks in preparation for POSIX timer support.
src/internal/libc.h
src/internal/pthread_impl.h
src/thread/pthread_cancel.c
src/thread/pthread_create.c