Explorar o código

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 %!s(int64=15) %!d(string=hai) anos
pai
achega
d72022b1d3
Modificáronse 1 ficheiros con 2 adicións e 5 borrados
  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)