Alexandre Julliard : server: Fixed process exit code on FreeBSD.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Mar 27 05:29:12 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 0a3646292a120c8cd67826858df43b27830866ca
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0a3646292a120c8cd67826858df43b27830866ca
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Mar 27 12:14:24 2006 +0200
server: Fixed process exit code on FreeBSD.
---
server/process.c | 2 +-
server/request.c | 11 +++++++----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/server/process.c b/server/process.c
index 393a65a..c119ed1 100644
--- a/server/process.c
+++ b/server/process.c
@@ -660,7 +660,7 @@ void kill_process( struct process *proce
{
struct thread *thread = LIST_ENTRY( ptr, struct thread, proc_entry );
- thread->exit_code = exit_code;
+ if (exit_code) thread->exit_code = exit_code;
if (thread != skip) kill_thread( thread, 1 );
}
}
diff --git a/server/request.c b/server/request.c
index 7eb1f83..6f0ffb9 100644
--- a/server/request.c
+++ b/server/request.c
@@ -389,11 +389,14 @@ int receive_fd( struct process *process
return 0;
}
- if (ret >= 0)
+ if (!ret)
+ {
+ kill_process( process, NULL, 0 );
+ }
+ else if (ret > 0)
{
- if (ret > 0)
- fprintf( stderr, "Protocol error: process %p: partial recvmsg %d for fd\n",
- process, ret );
+ fprintf( stderr, "Protocol error: process %p: partial recvmsg %d for fd\n",
+ process, ret );
kill_process( process, NULL, 1 );
}
else
More information about the wine-cvs
mailing list