http://bugzilla.novell.com/show_bug.cgi?id=623460
http://bugzilla.novell.com/show_bug.cgi?id=623460#c2
Jon Nelson changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |ASSIGNED
InfoProvider|jnelson-suse@jamponi.net |
--- Comment #2 from Jon Nelson 2010-07-19 14:19:31 UTC ---
As noted in bug 622068 (comment #5), the behavior of killproc was changed to
meet LSB specs (or something like that). The upshot is that _prior_ to 11.3,
when invoked like this:
killproc -TERM /some/process/path
it would send a -TERM. wait (normally) 5 seconds and if the process still
hasn't exited, send a SIGKILL. The new behavior eliminates the wait and
subsequent SIGKILL.
Thus, what happens _now_, in very rapid succession:
obtain pid of (for example) /usr/bin/kdm
kill -TERM $that_pid
start /usr/bin/kdm
The problem is that the old kdm hasn't exited yet (the signal was sent just one
one-jillionth of a second ago, after all).
Thus, "rcxdm restart" frequently only ends up killing the current display
manager, as it can't start the new one.
This change in the behavior of killproc seems terribly ill-advised without also
having had a good look at **all** of the init scripts which use it.
In any case, the change in bug 622058 should, IMO, be applied here as well:
Use:
killproc ${PIDFILE:+-p ${PIDFILE}} -t 10 -TERM $DISPLAYMANAGER
instead of:
killproc ${PIDFILE:+-p ${PIDFILE}} -TERM $DISPLAYMANAGER
Indeed, the comment immediately prior to the killproc code reads:
#
# killproc(8) sleep upto five seconds and sends
# SIGKILL if xdm does not terminate within
#
and that comment is now *wrong*.
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.