mdmon: avoid using victim_sock when it is -1.

It possible that we try to use victim_sock even when we couldn't open
it.  This is never actually harmful but it looks wrong and it is best
to fix it.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2011-11-07 11:44:21 +11:00
parent 84a230d993
commit 88e5516ea9
1 changed files with 6 additions and 1 deletions

View File

@ -189,6 +189,9 @@ static void try_kill_monitor(pid_t pid, char *devname, int sock)
kill(pid, SIGTERM);
if (sock < 0)
return;
/* Wait for monitor to exit by reading from the socket, after
* clearing the non-blocking flag */
fl = fcntl(sock, F_GETFL, 0);
@ -468,6 +471,7 @@ static int mdmon(char *devname, int devnum, int must_fork, int takeover)
exit(3);
}
close(victim_sock);
victim_sock = -1;
}
if (container->ss->load_container(container, mdfd, devname)) {
fprintf(stderr, "mdmon: Cannot load metadata for %s\n",
@ -501,7 +505,8 @@ static int mdmon(char *devname, int devnum, int must_fork, int takeover)
if (victim > 0) {
try_kill_monitor(victim, container->devname, victim_sock);
close(victim_sock);
if (victim_sock >= 0)
close(victim_sock);
}
setsid();