[launchd-changes] [23563] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Fri Mar 21 15:52:55 PDT 2008


Revision: 23563
          http://trac.macosforge.org/projects/launchd/changeset/23563
Author:   zarzycki at apple.com
Date:     2008-03-21 15:52:53 -0700 (Fri, 21 Mar 2008)

Log Message:
-----------
<rdar://problem/5810463> 10A34: Nothing in Installer log window

Modified Paths:
--------------
    trunk/launchd/src/launchd_runtime.c
    trunk/launchd/src/libvproc.c
    trunk/launchd/src/libvproc_internal.h

Modified: trunk/launchd/src/launchd_runtime.c
===================================================================
--- trunk/launchd/src/launchd_runtime.c	2008-03-19 21:43:25 UTC (rev 23562)
+++ trunk/launchd/src/launchd_runtime.c	2008-03-21 22:52:53 UTC (rev 23563)
@@ -1282,10 +1282,10 @@
 	offset = (void *)*outval;
 
 	while ((lm = STAILQ_FIRST(&logmsg_queue))) {
-		lm->from_name -= (size_t)lm;
-		lm->about_name -= (size_t)lm;
-		lm->msg -= (size_t)lm;
-		lm->session_name -= (size_t)lm;
+		lm->from_name_offset = lm->from_name - (char *)lm;
+		lm->about_name_offset = lm->about_name - (char *)lm;
+		lm->msg_offset = lm->msg - (char *)lm;
+		lm->session_name_offset = lm->session_name - (char *)lm;
 
 		memcpy(offset, lm, lm->obj_sz);
 		

Modified: trunk/launchd/src/libvproc.c
===================================================================
--- trunk/launchd/src/libvproc.c	2008-03-19 21:43:25 UTC (rev 23562)
+++ trunk/launchd/src/libvproc.c	2008-03-21 22:52:53 UTC (rev 23563)
@@ -412,10 +412,10 @@
 	}
 
 	for (lm = (struct logmsg_s *)outdata; tmp_cnt > 0; lm = ((void *)lm + lm->obj_sz)) {
-		lm->from_name += (size_t)lm;
-		lm->about_name += (size_t)lm;
-		lm->msg += (size_t)lm;
-		lm->session_name += (size_t)lm;
+		lm->from_name = (char *)lm + lm->from_name_offset;
+		lm->about_name = (char *)lm + lm->about_name_offset;
+		lm->msg = (char *)lm + lm->msg_offset;
+		lm->session_name = (char *)lm + lm->session_name_offset;
 
 		tv.tv_sec = lm->when / USEC_PER_SEC;
 		tv.tv_usec = lm->when % USEC_PER_SEC;

Modified: trunk/launchd/src/libvproc_internal.h
===================================================================
--- trunk/launchd/src/libvproc_internal.h	2008-03-19 21:43:25 UTC (rev 23562)
+++ trunk/launchd/src/libvproc_internal.h	2008-03-21 22:52:53 UTC (rev 23563)
@@ -58,7 +58,10 @@
 
 
 struct logmsg_s {
-	STAILQ_ENTRY(logmsg_s) sqe;
+	union {
+		STAILQ_ENTRY(logmsg_s) sqe;
+		uint64_t __pad;
+	};
 	int64_t when;
 	pid_t from_pid;
 	pid_t about_pid;
@@ -66,10 +69,22 @@
 	gid_t sender_gid;
 	int err_num;
 	int pri;
-	const char *from_name;
-	const char *about_name;
-	const char *session_name;
-	const char *msg;
+	union {
+		const char *from_name;
+		uint64_t from_name_offset;
+	};
+	union {
+		const char *about_name;
+		uint64_t about_name_offset;
+	};
+	union {
+		const char *session_name;
+		uint64_t session_name_offset;
+	};
+	union {
+		const char *msg;
+		uint64_t msg_offset;
+	};
 	size_t obj_sz;
 	char data[0];
 };

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080321/180b4f6c/attachment-0001.html 


More information about the launchd-changes mailing list