diff --git a/test/regress_bufferevent.c b/test/regress_bufferevent.c index 989778d9..2599cdd9 100644 --- a/test/regress_bufferevent.c +++ b/test/regress_bufferevent.c @@ -276,14 +276,13 @@ static int trace_lock_unlock(unsigned mode, void *lock_) } static void lock_unlock_free_thread_cbs(void) { - /** drop immutable flag */ - evthread_set_lock_callbacks(NULL); - event_base_free(NULL); if (libevent_tests_running_in_debug_mode) libevent_global_shutdown(); + /** drop immutable flag */ + evthread_set_lock_callbacks(NULL); /** avoid calling of event_global_setup_locks_() for new cbs */ libevent_global_shutdown(); /** drop immutable flag for non-debug ops (since called after shutdown) */ @@ -315,6 +314,9 @@ static int use_lock_unlock_profiler(void) } static void free_lock_unlock_profiler(struct basic_test_data *data) { + /** fix "held_by" for kqueue */ + evthread_set_lock_callbacks(NULL); + lock_unlock_free_thread_cbs(); free(lu_base.locks); data->base = NULL;