GitHub user igalic opened a pull request:
https://github.com/apache/trafficserver/pull/1
When receiving a SIGTERM wait() for children
When traffic_cop receives a SIGTERM it does not wait for it's children to
die
When running under upstart for instance this can lead to a new traffic_cop
instance being started while the old instance's traffic_manager and _server
are still up and running.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/igalic/trafficserver sig_term
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/1.patch
----
commit 00d03422a2e421473c6f73ccc94eeaefc6c0f0a9
Author: Igor GaliÄ <[email protected]>
Date: 2012-10-30T20:52:42Z
traffic_cop: wait() for children on SIGTERM
rework traffic_cop's signal handling to register a handler for
SIGTERM. In this handler we now send SIGTERM to all children
and then wait() for them.
This should allow us to handle restarts in upstart more gracefully.
Finally, we simplify the handling on Linux by no longer parsing
/proc: It's not necessary. Linux is a POSIX system too.
commit f7735f5fe79b83957aacacd48bac829514947128
Author: Igor GaliÄ <[email protected]>
Date: 2012-10-30T21:26:40Z
cleanup: get rid of ink_killall implementation
After ripping it out from the code, remove it the Linux-specific,
/proc parsing ink_killall implementation.
commit c6de8a083821b0a2a77956a264092df994c8c1b4
Author: Igor GaliÄ <[email protected]>
Date: 2012-10-30T21:29:46Z
Handle SIGINT the same way as SIGTERM
----