Charles Davis : server: Use syscall(2) instead of inline assembly on Mac OS , too.
Alexandre Julliard
julliard at winehq.org
Mon Oct 10 10:25:35 CDT 2011
Module: wine
Branch: master
Commit: a51aaf898cc95bc226f68b1d5a31137e87a3344b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a51aaf898cc95bc226f68b1d5a31137e87a3344b
Author: Charles Davis <cdavis at mymail.mines.edu>
Date: Sat Oct 8 12:08:18 2011 -0600
server: Use syscall(2) instead of inline assembly on Mac OS, too.
---
server/mach.c | 24 ++++--------------------
1 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/server/mach.c b/server/mach.c
index f890321..03c88ec 100644
--- a/server/mach.c
+++ b/server/mach.c
@@ -29,6 +29,9 @@
#include <stdarg.h>
#include <sys/types.h>
#include <unistd.h>
+#ifdef HAVE_SYS_SYSCALL_H
+#include <sys/syscall.h>
+#endif
#include "ntstatus.h"
#define WIN32_NO_STATUS
@@ -47,21 +50,6 @@
#include <mach/thread_act.h>
#include <servers/bootstrap.h>
-#if defined(__APPLE__) && defined(__i386__)
-extern int pthread_kill_syscall( mach_port_t, int );
-__ASM_GLOBAL_FUNC( pthread_kill_syscall,
- "movl $328,%eax\n\t" /* SYS___pthread_kill */
- "int $0x80\n\t"
- "jae 1f\n\t"
- "negl %eax\n"
- "1:\tret" )
-#else
-static inline int pthread_kill_syscall( mach_port_t, int )
-{
- return -ENOSYS;
-}
-#endif
-
static mach_port_t server_mach_port;
void sigchld_callback(void)
@@ -268,11 +256,7 @@ int send_thread_signal( struct thread *thread, int sig )
if (!mach_port_extract_right( process_port, thread->unix_tid,
MACH_MSG_TYPE_COPY_SEND, &port, &type ))
{
- if ((ret = pthread_kill_syscall( port, sig )) < 0)
- {
- errno = -ret;
- ret = -1;
- }
+ ret = syscall( SYS___pthread_kill, port, sig );
mach_port_deallocate( mach_task_self(), port );
}
else errno = ESRCH;
More information about the wine-cvs
mailing list