commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mladen Turk (Resolved) (JIRA)" <>
Subject [jira] [Resolved] (DAEMON-232) jsvc should no longer setpgrp() on startup
Date Wed, 01 Feb 2012 14:29:01 GMT


Mladen Turk resolved DAEMON-232.

       Resolution: Fixed
    Fix Version/s: 1.0.9

Removed the code.
You are right. We don't call kill(0) neither does JVM
> jsvc should no longer setpgrp() on startup
> ------------------------------------------
>                 Key: DAEMON-232
>                 URL:
>             Project: Commons Daemon
>          Issue Type: Bug
>          Components: Jsvc
>            Reporter: Adar Dembo
>             Fix For: 1.0.9
> jsvc-unix.c runs the following code in the child process before 
> {code}
>     /* create a new process group to prevent kill 0 killing the monitor process */
> #if defined(OS_FREEBSD) || defined(OS_DARWIN)
>     setpgid(0, 0);
> #else
>     setpgrp();
> #endif
> {code}
> This puts the child in its own process group, breaking some process management tools
(such as supervisor) that expect to be able to kill a logical process by sending a SIGKILL
to its process group. The su binary, which is somewhat analogous in function to jsvc, doesn't
do this.
> As best I can tell, there's no code in jsvc that does kill(0, ...). There's also not
enough svn history to provide more context. As for the child process doing a kill(0, ...),
I find it highly unlikely that the JVM itself sends signals.
> So is the setpgrp call still necessary? If not, can it be removed?

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message