summaryrefslogtreecommitdiff
path: root/mdstat.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 /mdstat.c
parent7a7cc50430d0d99dfe9b802e9723537360abf9d9 (diff)
Remove stopped arrays.
When an array becomes inactive, clean up and forget it. This involves signalling the manager.
Diffstat (limited to 'mdstat.c')
-rw-r--r--mdstat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mdstat.c b/mdstat.c
index a65e7c3a..040df150 100644
--- a/mdstat.c
+++ b/mdstat.c
@@ -272,7 +272,7 @@ void mdstat_wait(int seconds)
select(mdstat_fd >2 ? mdstat_fd+1:3, NULL, NULL, &fds, &tm);
}
-void mdstat_wait_fd(int fd)
+void mdstat_wait_fd(int fd, const sigset_t *sigmask)
{
fd_set fds, rfds;
@@ -282,7 +282,8 @@ void mdstat_wait_fd(int fd)
FD_SET(mdstat_fd, &fds);
FD_SET(fd, &rfds);
- select(mdstat_fd >2 ? mdstat_fd+1:3, &rfds, NULL, &fds, NULL);
+ pselect(mdstat_fd >2 ? mdstat_fd+1:3, &rfds, NULL, &fds,
+ NULL, sigmask);
}
int mddev_busy(int devnum)