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
This commit is contained in:
Magnus Hagander 2012-02-21 17:12:25 +01:00
parent 6b044cb810
commit c2a2f7516b
1 changed files with 5 additions and 2 deletions

View File

@ -588,8 +588,11 @@ SysLogger_Start(void)
errmsg("could not redirect stderr: %m"))); errmsg("could not redirect stderr: %m")));
close(fd); close(fd);
_setmode(_fileno(stderr), _O_BINARY); _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; syslogPipe[1] = 0;
#endif #endif
redirection_done = true; redirection_done = true;