mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 07:20:11 +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>
24 lines
276 B
Plaintext
24 lines
276 B
Plaintext
util/ktime
|
|
util/exec-alt
|
|
auth/keys
|
|
auth/superuser
|
|
auth/authcon
|
|
auth/realms
|
|
cmd/command
|
|
opr/dict
|
|
opr/fmt
|
|
opr/jhash
|
|
opr/queues
|
|
opr/rbtree
|
|
opr/softsig
|
|
opr/time
|
|
opr/uuid
|
|
ptserver/pt_util
|
|
ptserver/pts-man
|
|
rx/event
|
|
rx/perf
|
|
volser/vos-man
|
|
volser/vos
|
|
bucoord/backup-man
|
|
kauth/kas-man
|