[launchd-changes] [22975] trunk/launchd/src/launchd_core_logic.c

source_changes at macosforge.org source_changes at macosforge.org
Tue Dec 12 08:50:00 PST 2006


Revision: 22975
          http://trac.macosforge.org/projects/launchd/changeset/22975
Author:   zarzycki at apple.com
Date:     2006-12-12 08:49:59 -0800 (Tue, 12 Dec 2006)

Log Message:
-----------
Switch to posix_spawn for more cases.

Modified Paths:
--------------
    trunk/launchd/src/launchd_core_logic.c

Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c	2006-12-07 19:43:17 UTC (rev 22974)
+++ trunk/launchd/src/launchd_core_logic.c	2006-12-12 16:49:59 UTC (rev 22975)
@@ -3383,21 +3383,15 @@
 void
 job_force_sampletool(job_t j)
 {
+	char *sample_args[] = { "sample", NULL, "1", "-mayDie", NULL };
 	char pidstr[100];
 	pid_t sp;
 	
 	snprintf(pidstr, sizeof(pidstr), "%u", j->p);
+	sample_args[1] = pidstr;
 
-	switch ((sp = fork())) {
-	case -1:
-		job_log_error(j, LOG_DEBUG, "Failed to spawn sample tool");
-		break;
-	case 0:
-		job_assumes(j, execlp("sample", "sample", pidstr, "1", "-mayDie", NULL) != -1);
-		_exit(EXIT_FAILURE);
-	default:
+	if (job_assumes(j, posix_spawnp(&sp, sample_args[0], NULL, NULL, sample_args, environ) == 0)) {
 		job_assumes(j, kevent_mod(sp, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, &kqsimple_zombie_reaper) != -1);
-		break;
 	}
 }
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20061212/07db181e/attachment.html


More information about the launchd-changes mailing list