sizeof(struct registry_chunk)
+ sizeof(struct rcu_reader));
new_chunk_len = ARENA_INIT_ALLOC;
- new_chunk = mmap(NULL, new_chunk_len,
+ new_chunk = (struct registry_chunk *) mmap(NULL,
+ new_chunk_len,
PROT_READ | PROT_WRITE,
MAP_ANONYMOUS | MAP_PRIVATE,
-1, 0);
if (new_chunk == MAP_FAILED)
abort();
- bzero(new_chunk, new_chunk_len);
+ memset(new_chunk, 0, new_chunk_len);
new_chunk->data_len =
new_chunk_len - sizeof(struct registry_chunk);
cds_list_add_tail(&new_chunk->node, &arena->chunk_list);
if (new_chunk != MAP_FAILED) {
/* Should not have moved. */
assert(new_chunk == last_chunk);
- bzero((char *) last_chunk + old_chunk_len,
+ memset((char *) last_chunk + old_chunk_len, 0,
new_chunk_len - old_chunk_len);
last_chunk->data_len =
new_chunk_len - sizeof(struct registry_chunk);
}
/* Remap did not succeed, we need to add a new chunk. */
- new_chunk = mmap(NULL, new_chunk_len,
+ new_chunk = (struct registry_chunk *) mmap(NULL,
+ new_chunk_len,
PROT_READ | PROT_WRITE,
MAP_ANONYMOUS | MAP_PRIVATE,
-1, 0);
if (new_chunk == MAP_FAILED)
abort();
- bzero(new_chunk, new_chunk_len);
+ memset(new_chunk, 0, new_chunk_len);
new_chunk->data_len =
new_chunk_len - sizeof(struct registry_chunk);
cds_list_add_tail(&new_chunk->node, &arena->chunk_list);
cds_list_for_each_entry_safe(chunk, tmp,
®istry_arena.chunk_list, node) {
- munmap(chunk, chunk->data_len
+ munmap((void *) chunk, chunk->data_len
+ sizeof(struct registry_chunk));
}
+ CDS_INIT_LIST_HEAD(®istry_arena.chunk_list);
ret = pthread_key_delete(urcu_bp_key);
if (ret)
abort();