Add a failure check for syslogger's use of _beginthreadex(), and remove
authorTom Lane <[email protected]>
Tue, 3 Feb 2009 00:59:26 +0000 (00:59 +0000)
committerTom Lane <[email protected]>
Tue, 3 Feb 2009 00:59:26 +0000 (00:59 +0000)
unnecessary thread address output parameter, to make this code look more
like that in pg_restore.

src/backend/postmaster/syslogger.c

index 461c1ffbe8893b7771a62721b59d73ddf2d472fc..988b0e04ff21412ccb0e4cc23c05dce50e04a73e 100644 (file)
@@ -267,11 +267,9 @@ SysLoggerMain(int argc, char *argv[])
        /* Fire up separate data transfer thread */
        InitializeCriticalSection(&sysfileSection);
 
-       {
-               unsigned int tid;
-
-               threadHandle = (HANDLE) _beginthreadex(0, 0, pipeThread, 0, 0, &tid);
-       }
+       threadHandle = (HANDLE) _beginthreadex(NULL, 0, pipeThread, NULL, 0, NULL);
+       if (threadHandle == 0)
+               elog(FATAL, "could not create syslogger data transfer thread: %m");
 #endif   /* WIN32 */
 
        /* remember active logfile parameters */