Excerpts from Henrik Ingo's message of Mon Jan 02 00:40:39 -0800 2012:
> Good morning everyone :-)
> 
> Replying to myself again, it seems:
> 
> sbin/drizzled --daemon  # works just fine
> sbin/drizzled --daemon --user=drizzle # doesn't work
> 
> Is there some reason a child process running under drizzle user cannot
> send SIGUSR1 to its parent running as root?
> 



>From man 2 kill on linux:

       For  a  process to have permission to send a signal it must either
       be privileged (under Linux: have the CAP_KILL capability), or
       the real or effective user ID of the sending process must equal
       the real or saved set-user-ID of the target process.  In the case
       of SIGCONT it suffices when the sending and receiving processes
       belong to the same session.

Trying then to send SIGUSR1 is a bug for sure. There are two ways around
it that I see.  Either we must use a pipe to signal the parent that it
can exit, or try having the parent actually send itself a SIGSTOP, and
then use SIGCONT from the child. I think the former is more portable,
and I have a branch here that does that, and no longer waits forever
with --daemon --user on my Ubuntu precise (dev version) system.

https://code.launchpad.net/~clint-fewbar/drizzle/no-sigusr1

Still running the test suite, once it passes I'll propose it for merging.

This is tracked at this bug BTW:

https://bugs.launchpad.net/drizzle/+bug/890910

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to