diff options
Diffstat (limited to 'ipc/ipc_entry.c')
-rw-r--r-- | ipc/ipc_entry.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ipc/ipc_entry.c b/ipc/ipc_entry.c index e78f74e..5b9fd98 100644 --- a/ipc/ipc_entry.c +++ b/ipc/ipc_entry.c @@ -618,6 +618,7 @@ ipc_entry_grow_table(ipc_space_t space) is_write_unlock(space); thread_wakeup((event_t) space); it_entries_free(its, table); + ipc_reverse_remove_all(space); is_write_lock(space); return KERN_SUCCESS; } @@ -641,9 +642,6 @@ ipc_entry_grow_table(ipc_space_t space) memcpy(table, otable, osize * sizeof(struct ipc_entry)); - for (i = 0; i < osize; i++) - table[i].ie_index = 0; - (void) memset((void *) (table + osize), 0, (size - osize) * sizeof(struct ipc_entry)); @@ -651,6 +649,7 @@ ipc_entry_grow_table(ipc_space_t space) * Put old entries into the reverse hash table. */ + ipc_reverse_remove_all(space); for (i = 0; i < osize; i++) { ipc_entry_t entry = &table[i]; |