[launchd-changes] [22902] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Oct 16 16:44:45 PDT 2006
Revision: 22902
http://trac.macosforge.org/projects/launchd/changeset/22902
Author: zarzycki at apple.com
Date: 2006-10-16 16:44:45 -0700 (Mon, 16 Oct 2006)
Log Message:
-----------
Better logging.
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-10-16 23:43:11 UTC (rev 22901)
+++ trunk/launchd/src/launchd_core_logic.c 2006-10-16 23:44:45 UTC (rev 22902)
@@ -280,6 +280,7 @@
static void job_uncork_fork(job_t j);
static struct machservice *job_lookup_service(job_t jbs, const char *name, bool check_parent);
static void job_foreach_service(job_t jbs, void (*bs_iter)(struct machservice *, void *), void *context, bool only_anonymous);
+static void job_logv(job_t j, int pri, const char *msg, va_list ap);
static void job_log(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
static void job_log_error(job_t j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4)));
static void job_log_bug(job_t j, const char *rcs_rev, const char *path, unsigned int line, const char *test);
@@ -335,7 +336,7 @@
if (j->currently_ignored) {
return;
}
-
+
j->currently_ignored = true;
SLIST_FOREACH(sg, &j->sockets, sle) {
@@ -836,6 +837,7 @@
j->parent = p ? job_get_bs(p) : NULL;
j->min_run_time = LAUNCHD_MIN_JOB_RUN_TIME;
j->timeout = LAUNCHD_ADVISABLE_IDLE_TIMEOUT;
+ j->currently_ignored = true;
j->ondemand = true;
j->checkedin = true;
j->firstborn = (strcmp(label, FIRSTBORN_LABEL) == 0);
@@ -1567,13 +1569,7 @@
job_callback(void *obj, struct kevent *kev)
{
job_t j = obj;
- bool d = j->debug;
- int oldmask = 0;
- if (d) {
- oldmask = setlogmask(LOG_UPTO(LOG_DEBUG));
- }
-
switch (kev->filter) {
case EVFILT_PROC:
job_reap(j);
@@ -1631,11 +1627,6 @@
job_assumes(j, false);
break;
}
-
- if (d) {
- /* the job might have been removed, must not call job_log() */
- setlogmask(oldmask);
- }
}
void
@@ -2086,34 +2077,47 @@
}
void
-job_log_error(job_t j, int pri, const char *msg, ...)
+job_logv(job_t j, int pri, const char *msg, va_list ap)
{
char newmsg[10000];
- va_list ap;
+ int oldmask = 0;
size_t o;
o = job_prep_log_preface(j, newmsg);
- sprintf(newmsg + o, ": %s: %s", msg, strerror(errno));
+ sprintf(newmsg + o, ": %s", msg);
- va_start(ap, msg);
+ if (j->debug) {
+ oldmask = setlogmask(LOG_UPTO(LOG_DEBUG));
+ }
+
vsyslog(pri, newmsg, ap);
- va_end(ap);
+
+ if (j->debug) {
+ setlogmask(oldmask);
+ }
}
void
-job_log(job_t j, int pri, const char *msg, ...)
+job_log_error(job_t j, int pri, const char *msg, ...)
{
char newmsg[10000];
va_list ap;
- size_t o;
- o = job_prep_log_preface(j, newmsg);
+ sprintf(newmsg, "%s: %s", msg, strerror(errno));
- sprintf(newmsg + o, ": %s", msg);
+ va_start(ap, msg);
+ job_logv(j, pri, newmsg, ap);
+ va_end(ap);
+}
+void
+job_log(job_t j, int pri, const char *msg, ...)
+{
+ va_list ap;
+
va_start(ap, msg);
- vsyslog(pri, newmsg, ap);
+ job_logv(j, pri, msg, ap);
va_end(ap);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20061016/2dce86e4/attachment.html
More information about the launchd-changes
mailing list