summaryrefslogtreecommitdiff
path: root/mdmon.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2008-05-27 09:18:39 +1000
committerNeil Brown <neilb@suse.de>2008-05-27 09:18:39 +1000
commit1ed3f38758ff23dabfa3f67e2a02ff98d9d0fea8 (patch)
tree4adad57c7c06f3ac2ef8508fc911f256fa77df7b /mdmon.c
parent7a7cc50430d0d99dfe9b802e9723537360abf9d9 (diff)
Remove stopped arrays.
When an array becomes inactive, clean up and forget it. This involves signalling the manager.
Diffstat (limited to 'mdmon.c')
-rw-r--r--mdmon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mdmon.c b/mdmon.c
index c8a3341e..7ba8be04 100644
--- a/mdmon.c
+++ b/mdmon.c
@@ -48,6 +48,12 @@ struct md_generic_cmd *active_cmd;
int run_child(void *v)
{
struct supertype *c = v;
+ sigset_t set;
+ /* SIGUSR is sent from child to parent, So child must block it */
+ sigemptyset(&set);
+ sigaddset(&set, SIGUSR1);
+ sigprocmask(SIG_BLOCK, &set, NULL);
+
do_monitor(c);
return 0;
}