diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test/regress/pg_regress.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index d88118168eb..7c4ee404f54 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.41 2008/01/19 17:43:42 tgl Exp $ + * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.41.2.1 2008/03/04 15:38:33 mha Exp $ * *------------------------------------------------------------------------- */ @@ -1009,14 +1009,30 @@ spawn_process(const char *cmdline) cmdline2 = malloc(strlen(cmdline) + 8); sprintf(cmdline2, "cmd /c %s", cmdline); - if (!CreateProcessAsUser(restrictedToken, NULL, cmdline2, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) + if (!CreateProcessAsUser(restrictedToken, + NULL, + cmdline2, + NULL, + NULL, + TRUE, + CREATE_SUSPENDED, + NULL, + NULL, + &si, + &pi)) { fprintf(stderr, _("could not start process for \"%s\": %lu\n"), cmdline2, GetLastError()); exit_nicely(2); } + +#ifndef __CYGWIN__ + AddUserToDacl(pi.hProcess); +#endif + free(cmdline2); + ResumeThread(pi.hThread); CloseHandle(pi.hThread); return pi.hProcess; #endif |