diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_hash.c | 2 | ||||
-rw-r--r-- | ipc/ipc_table.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/ipc/ipc_hash.c b/ipc/ipc_hash.c index 8285717..c2c6d6e 100644 --- a/ipc/ipc_hash.c +++ b/ipc/ipc_hash.c @@ -326,7 +326,7 @@ ipc_hash_global_delete( */ #define IH_LOCAL_HASH(obj, size) \ - ((((mach_port_index_t) (vm_offset_t) (obj)) >> 6) % (size)) + ((((mach_port_index_t) (vm_offset_t) (obj)) >> 6) & (size - 1)) /* * Routine: ipc_hash_local_lookup diff --git a/ipc/ipc_table.h b/ipc/ipc_table.h index 3cc5f56..311b9a7 100644 --- a/ipc/ipc_table.h +++ b/ipc/ipc_table.h @@ -45,6 +45,8 @@ * an ipc_table_size structure. These structures must * be elements of an array, ipc_table_entries. * + * Every its_size value must must be a power of two. + * * The array must end with two elements with the same its_size value. * Except for the terminating element, the its_size values must * be strictly increasing. The largest (last) its_size value |