This forum has been archived. Please start a new discussion on GitHub.
pthread_sigmask() on suse 9 amd64
in Bug Reports
i found that pthread_sigmask() on linux platforms doesn't set sigmask for threads created in that 'main' thread. probably calling sigprocmask() in CtrlCHandler constructor would be more correct, at least for linux.
I tried on Fedora Core 2 (2.6.7 kernel): the behavior follows the standard, i.e. signal masks are properly "inherited". See 6.6.2 Signal masks in David Butenhof's "Programming with POSIX Threads".
You'll find attached a modified version of $ICE_HOME/test/IceUtil/ctrlCHandle/Client.cpp: it will show you whether the CtrlCHandler blocks SIGHUP, SIGINT and SIGTERM for new threads or not.
Maybe it's a bug in your kernel? How did you determine that pthread_sigmask is broken on your OS?