diff options
Diffstat (limited to 'managemon.c')
-rw-r--r-- | managemon.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/managemon.c b/managemon.c index fc5da713..779cb237 100644 --- a/managemon.c +++ b/managemon.c @@ -605,6 +605,7 @@ void do_manager(struct supertype *container) sigprocmask(SIG_UNBLOCK, NULL, &set); sigdelset(&set, SIGUSR1); + sigdelset(&set, SIGHUP); do { @@ -622,6 +623,13 @@ void do_manager(struct supertype *container) read_sock(container); + if (socket_hup_requested) { + close(container->sock); + container->sock = make_control_sock(container->devname); + make_pidfile(container->devname, 0); + socket_hup_requested = 0; + } + free_mdstat(mdstat); } remove_old(); |