server: Mark the process as disconnected from desktop/winstation before closing its handles.
Dmitry Timoshkov
dmitry at baikal.ru
Mon Jun 3 04:15:15 CDT 2013
This is another attempt to fix the TerminateProcess failure.
---
dlls/kernel32/tests/process.c | 1 -
server/process.c | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index 64e333e..9d3e983 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -1957,7 +1957,6 @@ static void test_TerminateProcess(void)
SetLastError(0xdeadbeef);
ret = TerminateProcess(pi.hProcess, 0);
-todo_wine
ok(ret, "TerminateProcess error %u\n", GetLastError());
CloseHandle(pi.hProcess);
diff --git a/server/process.c b/server/process.c
index 61d9d17..f1046c0 100644
--- a/server/process.c
+++ b/server/process.c
@@ -628,9 +628,9 @@ static void process_killed( struct process *process )
assert( list_empty( &process->thread_list ));
process->end_time = current_time;
if (!process->is_system) close_process_desktop( process );
- close_process_handles( process );
process->winstation = 0;
process->desktop = 0;
+ close_process_handles( process );
if (process->idle_event)
{
release_object( process->idle_event );
--
1.8.3
More information about the wine-patches
mailing list