diff options
author | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:39 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:39 +1000 |
commit | 1ed3f38758ff23dabfa3f67e2a02ff98d9d0fea8 (patch) | |
tree | 4adad57c7c06f3ac2ef8508fc911f256fa77df7b /mdstat.c | |
parent | 7a7cc50430d0d99dfe9b802e9723537360abf9d9 (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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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) |