uuidd: ensure pid file is wrote when it is requested
Earlier for example this 'uuidd --pid /dev/full' worked, now error is printed about truncating not being possible for character device and assuming someone would write pid to full disk it should not be go by unnoticed. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
parent
574528ed40
commit
caac206429
|
@ -338,10 +338,12 @@ static void server_loop(const char *socket_path, const char *pidfile_path,
|
|||
|
||||
if (pidfile_path) {
|
||||
sprintf(reply_buf, "%8d\n", getpid());
|
||||
ignore_result( ftruncate(fd_pidfile, 0) );
|
||||
if (ftruncate(fd_pidfile, 0))
|
||||
err(EXIT_FAILURE, _("could not truncate file: %s"), pidfile_path);
|
||||
write_all(fd_pidfile, reply_buf, strlen(reply_buf));
|
||||
if (fd_pidfile > 1)
|
||||
close(fd_pidfile); /* Unlock the pid file */
|
||||
if (close_fd(fd_pidfile) != 0) /* Unlock the pid file */
|
||||
err(EXIT_FAILURE, _("write failed: %s"), pidfile_path);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue