X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-bp.c;h=cbdebf407a892c2d201d42d948025723702414e7;hp=20684cc4d0972a61427f8ecae0e5fd7eb5072189;hb=7be759d1adf95b168f09e513232ea26de15e1eaf;hpb=999991c6e4600c410181baea65bda9f406464872 diff --git a/urcu-bp.c b/urcu-bp.c index 20684cc..cbdebf4 100644 --- a/urcu-bp.c +++ b/urcu-bp.c @@ -379,7 +379,7 @@ void expand_arena(struct registry_arena *arena) -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); @@ -399,7 +399,7 @@ void expand_arena(struct registry_arena *arena) 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); @@ -413,7 +413,7 @@ void expand_arena(struct registry_arena *arena) -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); @@ -612,6 +612,7 @@ void rcu_bp_exit(void) munmap(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();