From ccbfd57bafffc3a09b70ba57467d4df77bfd1f0a Mon Sep 17 00:00:00 2001 From: caro Date: Sun, 25 Oct 2009 08:23:28 +0000 Subject: [PATCH] * add some todo * after creating a child process, wait until it is really running git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@43256 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore/ecore_exe_win32.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c index 60ca1ef..17ce586 100644 --- a/src/lib/ecore/ecore_exe_win32.c +++ b/src/lib/ecore/ecore_exe_win32.c @@ -2,6 +2,14 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ +/* + * TODO: + * - manage priority + * - manage I/O pipes + * - add events for start/close, maybe others + * - manage SetConsoleCtrlHandler ? + */ + #ifdef HAVE_CONFIG_H # include #endif @@ -113,6 +121,10 @@ EAPI Ecore_Exe *ecore_exe_pipe_run(const char *exe_cmd, Ecore_Exe_Flags flags, c 0, NULL, NULL, &si, &pi)) goto free_exe_cmd; + /* be sure that the child process is running */ + if (WaitForInputIdle(pi.hProcess, INFINITE) != 0) + goto free_exe_cmd; + exe->thread = pi.hThread; exe->process_id = pi.dwProcessId; exe->thread_id = pi.dwThreadId; -- 2.7.4