Revision
23685
Author
dsorresso@apple.com
Date
2008-08-20 20:16:26 -0700 (Wed, 20 Aug 2008)

Log Message

Fixed a bug exposed by the other bug I was investigating.

Modified Paths

Diff

Modified: branches/PR-5898404/launchd/src/libvproc.c (23684 => 23685)


--- branches/PR-5898404/launchd/src/libvproc.c	2008-08-21 01:08:33 UTC (rev 23684)
+++ branches/PR-5898404/launchd/src/libvproc.c	2008-08-21 03:16:26 UTC (rev 23685)
@@ -647,10 +647,14 @@
 	case VPROC_GSK_TRANSACTIONS_ENABLED:
 		/* Shared memory region is required for transactions. */
 		if (unlikely(vproc_shmem == NULL)) {
+			fprintf(stderr, "Initializing shmem...\n");
 			int po_r = pthread_once(&shmem_inited, vproc_shmem_init);
 			if (po_r != 0 || vproc_shmem == NULL) {
-				*outval = 0;
-				return NULL;
+				fprintf(stderr, "pthread_once(): %d, vproc_shmem = %p\n", po_r, vproc_shmem);
+				if( outval ) {
+					*outval = 0;
+				}
+				return (vproc_err_t)vproc_swap_integer;
 			}
 		}