1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

fixing: ifupdown2 (subprocesses) lives on after control-c + Parsing cmd string with shlex.split instead of string.split

Ticket: CM-9905
Reviewed By: CCR-4363
Testing Done: ^C ifupdown2 while ifreload-ing interfaces test files (~500ifaces) + smoke tests
This commit is contained in:
Julien Fortin
2016-04-10 18:55:56 +02:00
parent 74d8271b1f
commit a4a53f4b45
7 changed files with 71 additions and 9 deletions

View File

@@ -9,6 +9,15 @@
import os
import fcntl
import re
import signal
from functools import partial
def signal_handler_f(ps, sig, frame):
if ps:
ps.send_signal(sig)
if sig == signal.SIGINT:
raise KeyboardInterrupt
class utils():
@@ -58,3 +67,11 @@ class utils():
else:
return False
@classmethod
def enable_subprocess_signal_forwarding(cls, ps, sig):
signal.signal(sig, partial(signal_handler_f, ps))
@classmethod
def disable_subprocess_signal_forwarding(cls, sig):
signal.signal(sig, signal.SIG_DFL)