valgrind 在从 libevent 调用 evtimer_del 后发现内存泄漏
valgrind find memory leak after call evtimer_del from libevent
我刚刚用 event_new(),
创建了一个新事件
最后用 evtimer_del().
删除它
然后 valgrind 警告我有内存泄漏(1 个块中有 128 个字节)。
我错过了什么?
代码:
evthread_use_pthreads();
auto _base = event_base_new();
event_init();
event* _timer = event_new(_base, -1, EV_TIMEOUT, NULL, NULL);
evtimer_del(_timer);
event_base_free(_base);
您使用了错误的释放函数,来自 docs:
event_new()
Returns
a newly allocated struct event that must later be freed with event_free()
.
虽然 evtimer_del
是 event_del()
的别名,它只取消列出事件。
我刚刚用 event_new(),
创建了一个新事件
最后用 evtimer_del().
删除它
然后 valgrind 警告我有内存泄漏(1 个块中有 128 个字节)。
我错过了什么?
代码:
evthread_use_pthreads();
auto _base = event_base_new();
event_init();
event* _timer = event_new(_base, -1, EV_TIMEOUT, NULL, NULL);
evtimer_del(_timer);
event_base_free(_base);
您使用了错误的释放函数,来自 docs:
event_new()
Returns
a newly allocated struct event that must later be freed withevent_free()
.
虽然 evtimer_del
是 event_del()
的别名,它只取消列出事件。