mirror of
https://git.proxmox.com/git/qemu-server
synced 2025-05-04 15:18:49 +00:00
restore_vma_archive: do not overwrite global signal handlers
perls 'local' must be either used in front of each $SIG{...} assignments or they must be put in a list, else it affects only the first variable and the rest are *not* in local context. This may cause weird behaviour where daemons seemingly do not get terminating signals delivered correctly and thus may not shutdown gracefully anymore. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
eaae66be9f
commit
5b97ef2441
@ -5482,9 +5482,10 @@ sub restore_vma_archive {
|
|||||||
rmtree $tmpdir;
|
rmtree $tmpdir;
|
||||||
|
|
||||||
# disable interrupts (always do cleanups)
|
# disable interrupts (always do cleanups)
|
||||||
local $SIG{INT} = $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = sub {
|
local $SIG{INT} =
|
||||||
warn "got interrupt - ignored\n";
|
local $SIG{TERM} =
|
||||||
};
|
local $SIG{QUIT} =
|
||||||
|
local $SIG{HUP} = sub { warn "got interrupt - ignored\n"; };
|
||||||
|
|
||||||
my $mapfifo = "/var/tmp/vzdumptmp$$.fifo";
|
my $mapfifo = "/var/tmp/vzdumptmp$$.fifo";
|
||||||
POSIX::mkfifo($mapfifo, 0600);
|
POSIX::mkfifo($mapfifo, 0600);
|
||||||
|
Loading…
Reference in New Issue
Block a user