setpgid fails with RPERM
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=mugginsoft.com; h=Received:Subject:Mime-Version:Content-Type:From:Resent-From:Date:Content-Transfer-Encoding:Resent-Date:Resent-To:Message-Id:To:X-Mailer:X-Identified-User; b=CQy+76dv5En6jL1zl3R4RURQBsmQxuuAkm6p8BkzJelfjUSNR7HJKFeoFBoX89zXgfYPSuLBpO/8gxrKqfkgMzdOWRd4JkhcyP2IuUlm+U7L3Rq/xav/XbWUkVCK4832; Resent-date: Fri, 13 Aug 2010 21:32:18 +0100 Resent-from: "jonathan@mugginsoft.com" <jonathan@mugginsoft.com> Resent-message-id: <20100813203251.C5BF4E66DCC0@relay1.apple.com> Resent-to: darwin-dev@lists.apple.com I want the child processes created with Cocoa's NSTask to be in the same process group as the caller. However calling setpgid() seems to fail with RPERM - operation not allowed. Is this an OS X POSIX process implementation detail or a consequence of the interior NSTask fork() implementation? Process group code: // launch the task [task launch]; pid_t group = setsid(); if (group == -1) { NSLog(@"setsid() == -1"); group = getpgrp(); } if (setpgid([task processIdentifier], group) == -1) { NSLog(@"unable to put task into same group as self: errno = %i", errno); } NSLog(@"new task process id = %i", [task processIdentifier]); NSLog(@"pgid = %i", group); Regards Jonathan Mitchell Developer Mugginsoft LLP http://www.mugginsoft.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
jonathan@mugginsoft.com