Sfoglia il codice sorgente

s-s-d: Do not unneedingly fsync() the pid file

The pid file is a run-time resource, which will not be valid on reboot
anyway. There's no need to guarantee its durability. But now that we are
not checking for errors from flushing the stream, check them instead
when closing it, which we should have been doing anyway.
Guillem Jover 15 anni fa
parent
commit
d72022b1d3
1 ha cambiato i file con 2 aggiunte e 5 eliminazioni
  1. 2 5
      utils/start-stop-daemon.c

+ 2 - 5
utils/start-stop-daemon.c

@@ -1595,11 +1595,8 @@ main(int argc, char **argv)
 			fatal("unable to open pidfile '%s' for writing",
 			      pidfile);
 		fprintf(pidf, "%d\n", pidt);
-		if (fflush(pidf))
-			fatal("unable to flush pidfile '%s'", pidfile);
-		if (fsync(fileno(pidf)))
-			fatal("unable to sync pidfile '%s'", pidfile);
-		fclose(pidf);
+		if (fclose(pidf))
+			fatal("unable to close pidfile '%s'", pidfile);
 	}
 	if (changeroot != NULL) {
 		if (chdir(changeroot) < 0)