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