mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
cb0081604e
Signals and pthreaded applications are a poor match. OpenAFS has had the softsig system (currently in src/util/softsig.c) in an attempt to alleviate some of these problems. However, that implementation itself has a number of problems. It uses signal functions that are unsafe in pthreaded applications, and uses pthread_kill within its signal handlers. Over the years it has been responsible for a number of portability bugs. The old implementation continues to receive signals in the main thread of the application. However, the handler code is run within a seperate signal handler thread. When the main thread receives a signal a stub handler is invoked, which simply pthread_kill()s the signal handler thread. The new implementation simplifies things by only receiving signals in the handler thread. It uses only pthread-compatible signal functions, and invokes no code from within async signal handlers. A complete test suite is supplied. Change-Id: I4bac68c2f853f1e7578b54ddced3833a97dd3f82 Reviewed-on: http://gerrit.openafs.org/6947 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Chas Williams <3chas3@gmail.com> Reviewed-by: Daria Brashear <shadow@your-file-system.com>
13 lines
226 B
Plaintext
13 lines
226 B
Plaintext
# After changing this file, please run
|
|
# git ls-files -i --exclude-standard
|
|
# to check that you haven't inadvertently ignored any tracked files.
|
|
|
|
/fmt-t
|
|
/dict-t
|
|
/jhash-t
|
|
/queues-t
|
|
/rbtree-t
|
|
/time-t
|
|
/uuid-t
|
|
/softsig-helper
|