which running thread gests the external signal
aanton at spintech.ro
Tue May 2 00:20:04 UTC 2006
I'm working on a threaded daemon and I'm trying to make it sysadmin
friendly. For this, I'm working with external signals.
I noticed different behaviour between BSD and Linux for this. When I
send an external SIGHUP (rehashing the config file) on BSD the thread
receiving the signal seems to be "random". On Linux, if I remeber well,
all the threads get the signal, sooner or later.. (the signal handler
gets executed as many times as the number of running threads)
The tests I've done were done some time ago, this is why I must
appologise if I get the chance to mix the memories :|.
So just in case anyone already knows (on BSD): which thread gets
stopped and moves execution to the signal handler function, when the
signal is sent by kill(1) to the pid of the daemon, which is the same
for all the threads? (sorry if dizzy speaking)
And also, is there a way for delegating one special thread to handle
all the external signals? (on BSD)
Thanks for the time guys.
GPG keyID 0x183087BA (B129 E8F4 7B34 15A9 0785 2F7C 5823 ABA0 1830 87BA)
gpg --keyserver pgp.mit.edu --recv-keys 0x183087BA
"It is dangerous to be right when the government is wrong." - Voltaire
More information about the freebsd-hackers