setpgrp.c.patch   [plain text]


--- setpgrp.c.orig	2004-10-10 12:08:09.000000000 -0700
+++ setpgrp.c	2004-10-10 12:11:13.000000000 -0700
@@ -40,8 +40,20 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#if __DARWIN_UNIX03
+pid_t
+setpgrp(void)
+{
+	pid_t pgid = getpgrp();
+	pid_t pid = getpid();
+	if (pgid != pid)
+	    setpgid(pid, pid);
+	return pid;
+}
+#else /* !__DARWIN_UNIX03 */
 int
 setpgrp(pid_t pid, pid_t pgid)
 {
 	return(setpgid(pid, pgid));
 }
+#endif /* __DARWIN_UNIX03 */