File tree 1 file changed +10
-2
lines changed 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 4
4
*
5
5
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
6
6
*
7
- * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.71 2006/08/21 10:48:21 meskes Exp $
7
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.72 2006/09/24 16:59:45 tgl Exp $
8
8
*
9
9
*-------------------------------------------------------------------------
10
10
*/
@@ -1277,7 +1277,15 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo)
1277
1277
/* Verify that we found all functions */
1278
1278
if (_IsProcessInJob == NULL || _CreateJobObject == NULL || _SetInformationJobObject == NULL || _AssignProcessToJobObject == NULL || _QueryInformationJobObject == NULL )
1279
1279
{
1280
- write_stderr ("WARNING: Unable to locate all job object functions in system API!\n" );
1280
+ /* IsProcessInJob() is not available on < WinXP, so there is no need to log the error every time in that case */
1281
+ OSVERSIONINFO osv ;
1282
+
1283
+ osv .dwOSVersionInfoSize = sizeof (osv );
1284
+ if (!GetVersionEx (& osv ) || /* could not get version */
1285
+ (osv .dwMajorVersion == 5 && osv .dwMinorVersion > 0 ) || /* 5.1=xp, 5.2=2003, etc */
1286
+ osv .dwMajorVersion > 5 ) /* anything newer should have the API */
1287
+ /* Log error if we can't get version, or if we're on WinXP/2003 or newer */
1288
+ write_stderr ("WARNING: Unable to locate all job object functions in system API!\n" );
1281
1289
}
1282
1290
else
1283
1291
{
You can’t perform that action at this time.
0 commit comments