Explorar el 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 hace 15 años
padre
commit
d72022b1d3
Se han modificado 1 ficheros con 2 adiciones y 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)