Revision: 23114 http://trac.macosforge.org/projects/launchd/changeset/23114 Author: zarzycki@apple.com Date: 2007-02-27 12:08:06 -0800 (Tue, 27 Feb 2007) Log Message: ----------- <rdar://problem/5026323> Only run SystemStarter when StartupItems exist Modified Paths: -------------- trunk/Makefile trunk/launchd/src/SystemStarter.c Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2007-02-27 19:52:04 UTC (rev 23113) +++ trunk/Makefile 2007-02-27 20:08:06 UTC (rev 23114) @@ -12,6 +12,8 @@ else mkdir -p $(DSTROOT)/Library/StartupItems chmod 755 $(DSTROOT)/Library/StartupItems + mkdir -p $(DSTROOT)/System/Library/StartupItems + chmod 755 $(DSTROOT)/System/Library/StartupItems rm -rf $(DSTROOT)/usr/local/lib/system cp $(OBJROOT)/src/launchd $(SYMROOT) cp $(OBJROOT)/src/launchctl $(SYMROOT) Modified: trunk/launchd/src/SystemStarter.c =================================================================== --- trunk/launchd/src/SystemStarter.c 2007-02-27 19:52:04 UTC (rev 23113) +++ trunk/launchd/src/SystemStarter.c 2007-02-27 20:08:06 UTC (rev 23114) @@ -53,13 +53,14 @@ { struct kevent kev; Action anAction = kActionStart; - int ch, kq; + int ch, r, kq = kqueue(); - assert((kq = kqueue()) != -1); + assert(kq != -1); EV_SET(&kev, SIGTERM, EVFILT_SIGNAL, EV_ADD, 0, 0, 0); - assert(kevent(kq, &kev, 1, NULL, 0, NULL) != -1); - assert(signal(SIGTERM, SIG_IGN) != SIG_ERR); + r = kevent(kq, &kev, 1, NULL, 0, NULL); + assert(r != -1); + signal(SIGTERM, SIG_IGN); while ((ch = getopt(argc, argv, "gvxirdDqn?")) != -1) { switch (ch) { @@ -158,7 +159,8 @@ NULL, NULL, kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions); - assert(kevent(kq, NULL, 0, &kev, 1, NULL) != -1); + r = kevent(kq, NULL, 0, &kev, 1, NULL); + assert(r != -1); assert(kev.filter == EVFILT_SIGNAL && kev.ident == SIGTERM); system_starter(kActionStop, NULL);
participants (1)
-
source_changes@macosforge.org