Use windows DACL fix for pg_regress as well.
authorMagnus Hagander
Tue, 4 Mar 2008 15:38:33 +0000 (15:38 +0000)
committerMagnus Hagander
Tue, 4 Mar 2008 15:38:33 +0000 (15:38 +0000)
Dave Page

src/test/regress/pg_regress.c

index d88118168eb71e9024af1d856d14ad6b099a4e5c..7c4ee404f545bfee1bc0908656cd5caa149a943c 100644 (file)
@@ -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