OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4623-gcb00816
Gerrit Code Review
gerrit@openafs.org
Tue, 26 May 2015 14:06:38 -0400
The following commit has been merged in the master branch:
commit cb0081604ef5369f34279c6eb77eb4d28406f2ac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date: Fri Mar 23 21:26:14 2012 +0000
opr: Add new softsig implementation
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>
src/opr/Makefile.in | 6 ++-
src/opr/softsig.c | 161 ++++++++++++++++++++++++++++++++++++++++++++
src/opr/softsig.h | 31 +++++++++
tests/TESTS | 1 +
tests/opr/.gitignore | 1 +
tests/opr/Makefile.in | 5 +-
tests/opr/softsig-helper.c | 140 ++++++++++++++++++++++++++++++++++++++
tests/opr/softsig-t | 86 +++++++++++++++++++++++
8 files changed, 429 insertions(+), 2 deletions(-)
--
OpenAFS Master Repository