summaryrefslogtreecommitdiff
path: root/managemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'managemon.c')
-rw-r--r--managemon.c8
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();