res_musiconhold: Add kill_escalation_delay, kill_method to class
authorGeorge Joseph <gjoseph@digium.com>
Tue, 11 Jul 2017 12:26:27 +0000 (06:26 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Tue, 11 Jul 2017 20:43:41 +0000 (14:43 -0600)
commitb7a875778a3817e2f8a1e9f4a950bcc2f21a6146
tree8403a79b20b93e85bd198692ddc7ac21abbaec9c
parent3e7cfe3a92e87dd5c402f4476cee934e44236cc6
res_musiconhold:  Add kill_escalation_delay, kill_method to class

By default, when res_musiconhold reloads or unloads, it sends a HUP
signal to custom applications (and all descendants), waits 100ms,
then sends a TERM signal, waits 100ms, then finally sends a KILL
signal.  An application which is interacting with an external
device and/or spawns children of its own may not be able to exit
cleanly in the default times, expecially if sent a KILL signal, or
if it's children are getting signals directly from
res_musiconhoild.

* To allow extra time, the 'kill_escalation_delay'
  class option can be used to set the number of milliseconds
  res_musiconhold waits before escalating kill signals, with the
  default being the current 100ms.

* To control to whom the signals are sent, the "kill_method" class
  option can be set to "process_group" (the default, existing
  behavior), which sends signals to the application and its
  descendants directly, or "process" which sends signals only to the
  application itself.

Change-Id: Iff70a1a9405685a9021a68416830c0db5158603b
CHANGES
configs/samples/musiconhold.conf.sample
res/res_musiconhold.c