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.
|
||||
* #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.
|
||||
* #368: Fix signal forwarding from borgmatic to Borg resulting in recursion traceback.
|
||||
|
||||
1.5.10
|
||||
* #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
|
||||
'''
|
||||
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)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue