cvs: TSRM / tsrm_win32.c

[email protected] ("Pierre-Alain Joye") Tue, 09 Jun 2009 14:05:44 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvspajoye1244556344@cvsserver>
pajoye		Tue Jun  9 14:05:44 2009 UTC

  Modified files:              
    /TSRM	tsrm_win32.c 
  Log:
  -   #41874, separate STDOUT and STDERR in exec functions
  
http://cvs.php.net/viewvc.cgi/TSRM/tsrm_win32.c?r1=1.40&r2=1.41&diff_format=u
Index: TSRM/tsrm_win32.c
diff -u TSRM/tsrm_win32.c:1.40 TSRM/tsrm_win32.c:1.41
--- TSRM/tsrm_win32.c:1.40	Tue May 19 10:00:44 2009
+++ TSRM/tsrm_win32.c	Tue Jun  9 14:05:44 2009
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: tsrm_win32.c,v 1.40 2009/05/19 10:00:44 bjori Exp $ */
+/* $Id: tsrm_win32.c,v 1.41 2009/06/09 14:05:44 pajoye Exp $ */
 
 #include <stdio.h>
 #include <fcntl.h>
@@ -27,6 +27,7 @@
 
 #define TSRM_INCLUDE_FULL_WINDOWS_HEADERS
 
+#include "SAPI.h"
 #include "TSRM.h"
 
 #ifdef TSRM_WIN32
@@ -251,6 +252,7 @@
 	PROCESS_INFORMATION process;
 	SECURITY_ATTRIBUTES security;
 	HANDLE in, out;
+	DWORD dwCreateFlags = 0;
 	char *cmd;
 	process_pair *proc;
 	TSRMLS_FETCH();
@@ -284,9 +286,14 @@
 		startup.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
 	}
 
+	dwCreateFlags = NORMAL_PRIORITY_CLASS;
+	if (strcmp(sapi_module.name, "cli") != 0) {
+		dwCreateFlags |= CREATE_NO_WINDOW;
+	}
+
 	cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
 	sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
-	if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW, env, cwd, &startup, &process)) {
+	if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) {
 		return NULL;
 	}
 	free(cmd);