]> granicus.if.org Git - postgresql/commitdiff
Revert dup2() checking in syslogger.c
authorStephen Frost <sfrost@snowman.net>
Tue, 28 Jan 2014 13:40:41 +0000 (08:40 -0500)
committerStephen Frost <sfrost@snowman.net>
Tue, 28 Jan 2014 13:40:41 +0000 (08:40 -0500)
Per the expanded comment-

As we're just trying to reset these to go to DEVNULL, there's not
much point in checking for failure from the close/dup2 calls here,
if they fail then presumably the file descriptors are closed and
any writes will go into the bitbucket anyway.

Pointed out by Tom.

src/backend/postmaster/syslogger.c

index 3c54956e70f3b669545121eaf7c5933cfefcb5da..e277a9a8a66e2a5b6024102e08e2841ca9d39991 100644 (file)
@@ -205,19 +205,18 @@ SysLoggerMain(int argc, char *argv[])
                 * darn sure the pipe gets closed even if the open failed.      We can
                 * survive running with stderr pointing nowhere, but we can't afford
                 * to have extra pipe input descriptors hanging around.
+                *
+                * As we're just trying to reset these to go to DEVNULL, there's not
+                * much point in checking for failure from the close/dup2 calls here,
+                * if they fail then presumably the file descriptors are closed and
+                * any writes will go into the bitbucket anyway.
                 */
                close(fileno(stdout));
                close(fileno(stderr));
                if (fd != -1)
                {
-                       if (dup2(fd, fileno(stdout)) < 0)
-                                       ereport(FATAL,
-                                                       (errcode_for_file_access(),
-                                                        errmsg("could not redirect stdout: %m")));
-                       if (dup2(fd, fileno(stderr)) < 0)
-                                       ereport(FATAL,
-                                                       (errcode_for_file_access(),
-                                                        errmsg("could not redirect stderr: %m")));
+                       (void) dup2(fd, fileno(stdout));
+                       (void) dup2(fd, fileno(stderr));
                        close(fd);
                }
        }