#include <signal.h>
#include <errno.h>
+int __kill(pid_t pid, int sig, int posix);
+
+#if __DARWIN_UNIX03
+#define _PID1ERR EPERM
+#define _POSIXKILL 1
+#else /* !__DARWIN_UNIX03 */
+#define _PID1ERR ESRCH
+#define _POSIXKILL 0
+#endif /* !__DARWIN_UNIX03 */
+
/*
* Backwards-compatible killpg().
*/
killpg(pid_t pgid, int sig)
{
if (pgid == 1) {
- errno = ESRCH;
+ errno = _PID1ERR;
return (-1);
}
- return (kill(-pgid, sig));
+ return (__kill(-pgid, sig, _POSIXKILL));
}