Fix signal forwarding from borgmatic to Borg resulting in recursion traceback (#368).
This commit is contained in:
parent
7b1fb68c18
commit
1c9ae81987
2 changed files with 7 additions and 1 deletions
1
NEWS
1
NEWS
|
@ -4,6 +4,7 @@
|
||||||
* #355: Fix traceback when a database hook value is null in a configuration file.
|
* #355: Fix traceback when a database hook value is null in a configuration file.
|
||||||
* #361: Merge override values when specifying the "--override" flag multiple times. The previous
|
* #361: Merge override values when specifying the "--override" flag multiple times. The previous
|
||||||
behavior was to take the value of the last "--override" flag only.
|
behavior was to take the value of the last "--override" flag only.
|
||||||
|
* #368: Fix signal forwarding from borgmatic to Borg resulting in recursion traceback.
|
||||||
|
|
||||||
1.5.10
|
1.5.10
|
||||||
* #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
|
* #347: Add hooks that run for the "extract" action: "before_extract" and "after_extract".
|
||||||
|
|
|
@ -4,8 +4,13 @@ import signal
|
||||||
|
|
||||||
def _handle_signal(signal_number, frame): # pragma: no cover
|
def _handle_signal(signal_number, frame): # pragma: no cover
|
||||||
'''
|
'''
|
||||||
Send the signal to all processes in borgmatic's process group, which includes child process.
|
Send the signal to all processes in borgmatic's process group, which includes child processes.
|
||||||
'''
|
'''
|
||||||
|
# Prevent infinite signal handler recursion. If the parent frame is this very same handler
|
||||||
|
# function, we know we're recursing.
|
||||||
|
if frame.f_back.f_code.co_name == _handle_signal.__name__:
|
||||||
|
return
|
||||||
|
|
||||||
os.killpg(os.getpgrp(), signal_number)
|
os.killpg(os.getpgrp(), signal_number)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue