[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