[launchd-changes] [23617] trunk/launchd/src/launchd_runtime_kill.c
source_changes at macosforge.org
source_changes at macosforge.org
Fri May 2 15:58:06 PDT 2008
Revision: 23617
http://trac.macosforge.org/projects/launchd/changeset/23617
Author: zarzycki at apple.com
Date: 2008-05-02 15:58:06 -0700 (Fri, 02 May 2008)
Log Message:
-----------
<rdar://problem/5906374> launchd calls __kill() on arm
Modified Paths:
--------------
trunk/launchd/src/launchd_runtime_kill.c
Modified: trunk/launchd/src/launchd_runtime_kill.c
===================================================================
--- trunk/launchd/src/launchd_runtime_kill.c 2008-05-02 22:54:41 UTC (rev 23616)
+++ trunk/launchd/src/launchd_runtime_kill.c 2008-05-02 22:58:06 UTC (rev 23617)
@@ -18,40 +18,27 @@
* @APPLE_APACHE_LICENSE_HEADER_END@
*/
-#if defined(__LP64__)
-/* ??? No way to get the old behavior */
-#define old_kill(x, y) kill(x, y)
-#define old_killpg(x, y) kill(-(x), y)
-#elif defined(__arm__)
-/* ??? No blessed way to get the old behavior */
-extern int __kill(int, int, int);
-#define old_kill(x, y) __kill(x, y, 0)
-#define old_killpg(x, y) __kill(-(x), y, 0)
-#else
-#define _NONSTD_SOURCE 1
-#define old_kill(x, y) kill(x, y)
-#define old_killpg(x, y) killpg(x, y)
-#endif
+#include <sys/syscall.h>
+#include <unistd.h>
#include <signal.h>
#include "launchd_runtime_kill.h"
-/*
- * POSIX defines consistency over correctness, and consequently kill/killpg now
- * returns EPERM instead of ESRCH.
- *
- * I've filed 5487498 to get a non-portable kill() variant, but for now,
- * defining _NONSTD_SOURCE gets us the old behavior.
- */
-
int
runtime_kill(pid_t pid, int sig)
{
- return old_kill(pid, sig);
+ /*
+ * POSIX defines consistency over correctness, and consequently
+ * kill/killpg now returns EPERM instead of ESRCH.
+ *
+ * I've filed 5487498 to get a non-portable kill().
+ * We'll regretfully take advantage of implementation details for now.
+ */
+ return syscall(SYS_kill, pid, sig, 0);
}
int
runtime_killpg(pid_t pgrp, int sig)
{
- return old_killpg(pgrp, sig);
+ return runtime_kill(-pgrp, sig);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080502/0974dfa2/attachment-0001.html
More information about the launchd-changes
mailing list