#include <stdbool.h>
#include <sys/mman.h>
+#include <urcu/config.h>
#include <urcu/arch.h>
#include <urcu/wfcqueue.h>
#include <urcu/map/urcu-bp.h>
* This is not generic.
*/
static
-void *mremap_wrapper(void *old_address, size_t old_size,
- size_t new_size, int flags)
+void *mremap_wrapper(void *old_address __attribute__((unused)),
+ size_t old_size __attribute__((unused)),
+ size_t new_size __attribute__((unused)),
+ int flags)
{
assert(!(flags & MREMAP_MAYMOVE));
void __attribute__((constructor)) _urcu_bp_init(void);
static
void __attribute__((destructor)) urcu_bp_exit(void);
+static void urcu_call_rcu_exit(void);
#ifndef CONFIG_RCU_FORCE_SYS_MEMBARRIER
int urcu_bp_has_sys_membarrier;
static
void urcu_bp_exit(void)
{
+ urcu_call_rcu_exit();
+
mutex_lock(&init_lock);
if (!--urcu_bp_refcount) {
struct registry_chunk *chunk, *tmp;