From: Mathieu Desnoyers Date: Wed, 18 May 2016 18:50:01 +0000 (-0400) Subject: Fix: urcu-bp: re-initialize list head on library exit X-Git-Tag: v0.9.3~21 X-Git-Url: http://git.liburcu.org/?p=userspace-rcu.git;a=commitdiff_plain;h=e44dd88adfc9a89b6cd7393163bc0d680d292f4d Fix: urcu-bp: re-initialize list head on library exit In case an application would try to create threads after the urcu-bp library destructor has run, make sure the arena chunk list is re-initialized after the memory mappings are unmapped. Signed-off-by: Mathieu Desnoyers --- diff --git a/urcu-bp.c b/urcu-bp.c index 22e17cc..cbdebf4 100644 --- a/urcu-bp.c +++ b/urcu-bp.c @@ -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();