nlopess Sun Dec 31 14:49:06 2006 UTC
Modified files:
/php-src/ext/standard proc_open.c proc_open.h
Log:
MFB: fix PID info on windows
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.45&r2=1.46&diff_format=u
Index: php-src/ext/standard/proc_open.c
diff -u php-src/ext/standard/proc_open.c:1.45
php-src/ext/standard/proc_open.c:1.46
--- php-src/ext/standard/proc_open.c:1.45 Tue Oct 3 19:37:01 2006
+++ php-src/ext/standard/proc_open.c Sun Dec 31 14:49:06 2006
@@ -15,7 +15,7 @@
| Author: Wez Furlong <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: proc_open.c,v 1.45 2006/10/03 19:37:01 pollita Exp $ */
+/* $Id: proc_open.c,v 1.46 2006/12/31 14:49:06 nlopess Exp $ */
#if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__))
# define _BSD_SOURCE /* linux wants this when XOPEN mode is on */
@@ -216,10 +216,10 @@
#ifdef PHP_WIN32
- WaitForSingleObject(proc->child, INFINITE);
- GetExitCodeProcess(proc->child, &wstatus);
+ WaitForSingleObject(proc->childHandle, INFINITE);
+ GetExitCodeProcess(proc->childHandle, &wstatus);
FG(pclose_ret) = wstatus;
- CloseHandle(proc->child);
+ CloseHandle(proc->childHandle);
#elif HAVE_SYS_WAIT_H
@@ -268,7 +268,7 @@
ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, &zproc, -1,
"process", le_proc_open);
#ifdef PHP_WIN32
- TerminateProcess(proc->child, 255);
+ TerminateProcess(proc->childHandle, 255);
#else
kill(proc->child, sig_no);
#endif
@@ -336,7 +336,7 @@
#ifdef PHP_WIN32
- GetExitCodeProcess(proc->child, &wstatus);
+ GetExitCodeProcess(proc->childHandle, &wstatus);
running = wstatus == STILL_ACTIVE;
exitcode == STILL_ACTIVE ? -1 : wstatus;
@@ -436,6 +436,7 @@
struct php_proc_open_descriptor_item
descriptors[PHP_PROC_OPEN_MAX_DESCRIPTORS];
#ifdef PHP_WIN32
PROCESS_INFORMATION pi;
+ HANDLE childHandle;
STARTUPINFO si;
BOOL newprocok;
SECURITY_ATTRIBUTES security;
@@ -740,7 +741,8 @@
goto exit_fail;
}
- child = pi.hProcess;
+ childHandle = pi.hProcess;
+ child = pi.dwProcessId;
CloseHandle(pi.hThread);
#elif defined(NETWARE)
@@ -865,6 +867,9 @@
proc->command = pestrdup(command, is_persistent);
proc->npipes = ndesc;
proc->child = child;
+#ifdef PHP_WIN32
+ proc->childHandle = childHandle;
+#endif
proc->env = env;
if (pipes != NULL) {
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.h?r1=1.6&r2=1.7&diff_format=u
Index: php-src/ext/standard/proc_open.h
diff -u php-src/ext/standard/proc_open.h:1.6
php-src/ext/standard/proc_open.h:1.7
--- php-src/ext/standard/proc_open.h:1.6 Sun Jan 1 13:09:55 2006
+++ php-src/ext/standard/proc_open.h Sun Dec 31 14:49:06 2006
@@ -15,11 +15,11 @@
| Author: Wez Furlong <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: proc_open.h,v 1.6 2006/01/01 13:09:55 sniper Exp $ */
+/* $Id: proc_open.h,v 1.7 2006/12/31 14:49:06 nlopess Exp $ */
#ifdef PHP_WIN32
typedef HANDLE php_file_descriptor_t;
-typedef HANDLE php_process_id_t;
+typedef DWORD php_process_id_t;
#else
typedef int php_file_descriptor_t;
typedef pid_t php_process_id_t;
@@ -40,6 +40,9 @@
struct php_process_handle {
php_process_id_t child;
+#ifdef PHP_WIN32
+ HANDLE childHandle;
+#endif
int npipes;
long pipes[PHP_PROC_OPEN_MAX_DESCRIPTORS];
char *command;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php