daian(a)google.com has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1222179?usp=email )
Change subject: Block signals immediately at the beginning of the main function.
......................................................................
Block signals immediately at the beginning of the main function.
Threads inherit the blocked signal mask from their creating thread. Thus, if a
thread has been created before the signals where blocked, the signals are not
blocked for that thread, meaning that when the signal is sent to the process,
the (probably default) signal handler will be called on that thread, and the
process may get terminated as a result.
Indeed, when the logging library gets initialized and the binary is compiled
with the USE_UNWIND_ENRICHED_BT macro defined, a new thread is spawned before
the signals are masked, causing the SIGHUP signal to terminate the process
instead of reloading the configuration.
Change-Id: I8158c4d977b92fc2d2d62701c702ef569500e94f
Signed-off-by: Eli Daian <daian(a)google.com>
---
M src/MainNFSD/nfs_main.c
1 file changed, 23 insertions(+), 13 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/79/1222179/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1222179?usp=email
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I8158c4d977b92fc2d2d62701c702ef569500e94f
Gerrit-Change-Number: 1222179
Gerrit-PatchSet: 1
Gerrit-Owner: daian(a)google.com