diff options
| author | Magnus Hagander <magnus@hagander.net> | 2012-02-21 17:12:25 +0100 |
|---|---|---|
| committer | Magnus Hagander <magnus@hagander.net> | 2012-02-21 17:14:14 +0100 |
| commit | d1ed3363f6077a0f616782ccb26c9571e7f3cae1 (patch) | |
| tree | 02ed68dcca62e0388484cbeca19094ab4bf11820 | |
| parent | 29f65a844bfcfd1eb22bb21ccdb5b8ace092a97c (diff) | |
Avoid double close of file handle in syslogger on win32
This causes an exception when running under a debugger or in particular
when running on a debug version of Windows.
Patch from MauMau
| -rw-r--r-- | src/backend/postmaster/syslogger.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 067f7efc646..20ed92d550b 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -593,8 +593,11 @@ SysLogger_Start(void) errmsg("could not redirect stderr: %m"))); close(fd); _setmode(_fileno(stderr), _O_BINARY); - /* Now we are done with the write end of the pipe. */ - CloseHandle(syslogPipe[1]); + /* + * Now we are done with the write end of the pipe. + * CloseHandle() must not be called because the preceding + * close() closes the underlying handle. + */ syslogPipe[1] = 0; #endif redirection_done = true; |
