uuidd: Avoid closing the server socket when calling create_daemon()
In the event that file descriptors 0-2 are closed when uuidd is started, the server socket could be created as a file descriptor that will get closed when create_daemon() tries detaching the uuidd daemon from its controlling tty. Avoid this case by using dup(2). Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
59ca44715a
commit
fdb3e93ce9
|
@ -274,6 +274,18 @@ static void server_loop(const char *socket_path, const char *pidfile_path,
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Make sure the socket isn't using fd numbers 0-2 to avoid it
|
||||||
|
* getting closed by create_daemon()
|
||||||
|
*/
|
||||||
|
while (!debug && s <= 2) {
|
||||||
|
s = dup(s);
|
||||||
|
if (s < 0) {
|
||||||
|
perror("dup");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the address we will be binding to.
|
* Create the address we will be binding to.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue