diff options
-rwxr-xr-x | bin/dtas-player | 5 | ||||
-rw-r--r-- | lib/dtas/player.rb | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/bin/dtas-player b/bin/dtas-player index 640d31c..401a500 100755 --- a/bin/dtas-player +++ b/bin/dtas-player @@ -26,7 +26,10 @@ else player.socket = sock end -at_exit { player.close } +at_exit do + player.close + Process.waitall +end player.bind trap(:INT) { exit } trap(:TERM) { exit } diff --git a/lib/dtas/player.rb b/lib/dtas/player.rb index 3571a7f..2bf2716 100644 --- a/lib/dtas/player.rb +++ b/lib/dtas/player.rb @@ -419,6 +419,7 @@ class DTAS::Player # :nodoc: end while true ensure __current_requeue + stop_sinks trap(:CHLD, old_chld) sev.close if sev # for state file |