summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libports/manage-multithread.c7
-rw-r--r--libports/manage-one-thread.c7
2 files changed, 8 insertions, 6 deletions
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;
}
}
diff --git a/libports/manage-one-thread.c b/libports/manage-one-thread.c
index b920338f..313838cb 100644
--- a/libports/manage-one-thread.c
+++ b/libports/manage-one-thread.c
@@ -71,9 +71,10 @@ ports_manage_port_operations_one_thread (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;
}
}