From 5512308e4176303b25d52350c3c48dc37c3c665d Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 23 Feb 2016 23:35:30 +0100 Subject: libports: preserve the complex message flag * libports/manage-multithread.c (internal_demuxer): Preserve all message flags when we store the objects address as payload in the message. * libports/manage-one-thread.c (internal_demuxer): Likewise. --- libports/manage-multithread.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libports/manage-multithread.c') diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c index 60743d93..1588f632 100644 --- a/libports/manage-multithread.c +++ b/libports/manage-multithread.c @@ -180,9 +180,10 @@ ports_manage_port_operations_multithread (struct port_bucket *bucket, having to do another hash table lookup in the intran functions if protected payloads are not supported by the kernel. */ - inp->msgh_bits = MACH_MSGH_BITS ( - MACH_MSGH_BITS_REMOTE (inp->msgh_bits), - MACH_MSG_TYPE_PROTECTED_PAYLOAD); + inp->msgh_bits = + MACH_MSGH_BITS_OTHER (inp->msgh_bits) + | MACH_MSGH_BITS (MACH_MSGH_BITS_REMOTE (inp->msgh_bits), + MACH_MSG_TYPE_PROTECTED_PAYLOAD); inp->msgh_protected_payload = (unsigned long) pi; } } -- cgit v1.2.3