<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[23542] trunk/launchd/src</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.macosforge.org/projects/launchd/changeset/23542">23542</a></dd>
<dt>Author</dt> <dd>zarzycki@apple.com</dd>
<dt>Date</dt> <dd>2008-03-06 16:20:27 -0800 (Thu, 06 Mar 2008)</dd>
</dl>

<h3>Log Message</h3>
<pre>Misc.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunklaunchdsrclaunchdc">trunk/launchd/src/launchd.c</a></li>
<li><a href="#trunklaunchdsrclaunchd_runtimec">trunk/launchd/src/launchd_runtime.c</a></li>
<li><a href="#trunklaunchdsrclaunchd_runtimeh">trunk/launchd/src/launchd_runtime.h</a></li>
<li><a href="#trunklaunchdsrcliblaunchc">trunk/launchd/src/liblaunch.c</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunklaunchdsrclaunchdc"></a>
<div class="modfile"><h4>Modified: trunk/launchd/src/launchd.c (23541 => 23542)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/launchd/src/launchd.c        2008-03-06 22:15:56 UTC (rev 23541)
+++ trunk/launchd/src/launchd.c        2008-03-07 00:20:27 UTC (rev 23542)
</span><span class="lines">@@ -106,12 +106,13 @@
</span><span class="cx"> int
</span><span class="cx"> main(int argc, char *const *argv)
</span><span class="cx"> {
</span><ins>+        const char *stdouterr_path = low_level_debug ? _PATH_CONSOLE : _PATH_DEVNULL;
</ins><span class="cx">         bool sflag = false;
</span><span class="cx">         int ch;
</span><span class="cx"> 
</span><span class="cx">         testfd_or_openfd(STDIN_FILENO, _PATH_DEVNULL, O_RDONLY);
</span><del>-        testfd_or_openfd(STDOUT_FILENO, _PATH_DEVNULL, O_WRONLY);
-        testfd_or_openfd(STDERR_FILENO, _PATH_DEVNULL, O_WRONLY);
</del><ins>+        testfd_or_openfd(STDOUT_FILENO, stdouterr_path, O_WRONLY);
+        testfd_or_openfd(STDERR_FILENO, stdouterr_path, O_WRONLY);
</ins><span class="cx"> 
</span><span class="cx">         while ((ch = getopt(argc, argv, &quot;s&quot;)) != -1) {
</span><span class="cx">                 switch (ch) {
</span></span></pre></div>
<a id="trunklaunchdsrclaunchd_runtimec"></a>
<div class="modfile"><h4>Modified: trunk/launchd/src/launchd_runtime.c (23541 => 23542)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/launchd/src/launchd_runtime.c        2008-03-06 22:15:56 UTC (rev 23541)
+++ trunk/launchd/src/launchd_runtime.c        2008-03-07 00:20:27 UTC (rev 23542)
</span><span class="lines">@@ -124,6 +124,7 @@
</span><span class="cx"> static FILE *ourlogfile;
</span><span class="cx"> bool pid1_magic;
</span><span class="cx"> bool do_apple_internal_logging;
</span><ins>+bool low_level_debug;
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> INTERNAL_ABI mach_port_t
</span><span class="lines">@@ -135,7 +136,6 @@
</span><span class="cx"> // static const char *__crashreporter_info__ = &quot;&quot;;
</span><span class="cx"> 
</span><span class="cx"> static int internal_mask_pri = LOG_UPTO(LOG_NOTICE);
</span><del>-//static int internal_mask_pri = LOG_UPTO(LOG_DEBUG);
</del><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> INTERNAL_ABI void
</span><span class="lines">@@ -1205,6 +1205,12 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         vsnprintf(newmsg, sizeof(newmsg), message, args);
</span><ins>+
+        if (unlikely(low_level_debug)) {
+                fprintf(stderr, &quot;%s %u\t%s %u\t%s\n&quot;, attr-&gt;from_name, attr-&gt;from_pid,
+                                attr-&gt;about_name, attr-&gt;about_pid, newmsg);
+        }
+
</ins><span class="cx">         logmsg_add(attr, saved_errno, newmsg);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1650,4 +1656,9 @@
</span><span class="cx">         if (stat(&quot;/AppleInternal&quot;, &amp;sb) == 0 &amp;&amp; stat(&quot;/var/db/disableAppleInternal&quot;, &amp;sb) == -1) {
</span><span class="cx">                 do_apple_internal_logging = true;
</span><span class="cx">         }
</span><ins>+
+        if (stat(&quot;/var/db/.debug_launchd&quot;, &amp;sb) == 0) {
+                internal_mask_pri = LOG_UPTO(LOG_DEBUG);
+                low_level_debug = true;
+        }
</ins><span class="cx"> }
</span></span></pre></div>
<a id="trunklaunchdsrclaunchd_runtimeh"></a>
<div class="modfile"><h4>Modified: trunk/launchd/src/launchd_runtime.h (23541 => 23542)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/launchd/src/launchd_runtime.h        2008-03-06 22:15:56 UTC (rev 23541)
+++ trunk/launchd/src/launchd_runtime.h        2008-03-07 00:20:27 UTC (rev 23542)
</span><span class="lines">@@ -105,6 +105,7 @@
</span><span class="cx"> 
</span><span class="cx"> extern bool pid1_magic;
</span><span class="cx"> extern bool do_apple_internal_logging;
</span><ins>+extern bool low_level_debug;
</ins><span class="cx"> 
</span><span class="cx"> INTERNAL_ABI mach_port_t runtime_get_kernel_port(void);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunklaunchdsrcliblaunchc"></a>
<div class="modfile"><h4>Modified: trunk/launchd/src/liblaunch.c (23541 => 23542)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/launchd/src/liblaunch.c        2008-03-06 22:15:56 UTC (rev 23541)
+++ trunk/launchd/src/liblaunch.c        2008-03-07 00:20:27 UTC (rev 23542)
</span><span class="lines">@@ -732,7 +732,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int launchd_msg_send(launch_t lh, launch_data_t d)
</del><ins>+int
+launchd_msg_send(launch_t lh, launch_data_t d)
</ins><span class="cx"> {
</span><span class="cx">         struct launch_msg_header lmh;
</span><span class="cx">         struct cmsghdr *cm = NULL;
</span><span class="lines">@@ -948,7 +949,8 @@
</span><span class="cx">         return resp;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int launchd_msg_recv(launch_t lh, void (*cb)(launch_data_t, void *), void *context)
</del><ins>+int
+launchd_msg_recv(launch_t lh, void (*cb)(launch_data_t, void *), void *context)
</ins><span class="cx"> {
</span><span class="cx">         struct cmsghdr *cm = alloca(4096); 
</span><span class="cx">         launch_data_t rmsg = NULL;
</span><span class="lines">@@ -1039,7 +1041,8 @@
</span><span class="cx">         return -1;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_copy(launch_data_t o)
</del><ins>+launch_data_t
+launch_data_copy(launch_data_t o)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(o-&gt;type);
</span><span class="cx">         size_t i;
</span><span class="lines">@@ -1090,14 +1093,16 @@
</span><span class="cx">         return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static int _fd(int fd)
</del><ins>+int
+_fd(int fd)
</ins><span class="cx"> {
</span><span class="cx">         if (fd &gt;= 0)
</span><span class="cx">                 fcntl(fd, F_SETFD, 1);
</span><span class="cx">         return fd;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_errno(int e)
</del><ins>+launch_data_t
+launch_data_new_errno(int e)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_ERRNO);
</span><span class="cx"> 
</span><span class="lines">@@ -1107,7 +1112,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_fd(int fd)
</del><ins>+launch_data_t
+launch_data_new_fd(int fd)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_FD);
</span><span class="cx"> 
</span><span class="lines">@@ -1117,7 +1123,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_machport(mach_port_t p)
</del><ins>+launch_data_t
+launch_data_new_machport(mach_port_t p)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_MACHPORT);
</span><span class="cx"> 
</span><span class="lines">@@ -1127,7 +1134,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_integer(long long n)
</del><ins>+launch_data_t
+launch_data_new_integer(long long n)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_INTEGER);
</span><span class="cx"> 
</span><span class="lines">@@ -1137,7 +1145,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_bool(bool b)
</del><ins>+launch_data_t
+launch_data_new_bool(bool b)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_BOOL);
</span><span class="cx"> 
</span><span class="lines">@@ -1147,7 +1156,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_real(double d)
</del><ins>+launch_data_t
+launch_data_new_real(double d)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_REAL);
</span><span class="cx"> 
</span><span class="lines">@@ -1157,7 +1167,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_string(const char *s)
</del><ins>+launch_data_t
+launch_data_new_string(const char *s)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_STRING);
</span><span class="cx"> 
</span><span class="lines">@@ -1172,7 +1183,8 @@
</span><span class="cx">         return r;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-launch_data_t launch_data_new_opaque(const void *o, size_t os)
</del><ins>+launch_data_t
+launch_data_new_opaque(const void *o, size_t os)
</ins><span class="cx"> {
</span><span class="cx">         launch_data_t r = launch_data_alloc(LAUNCH_DATA_OPAQUE);
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>