libevent的一个小问题

时间:2022-09-17 17:37:59

很久没更新了,唉,我实在不算是一个话多的人...

 

最近在折腾libevent,用它做一些网络层的应用。

libevent这个库挺棒的,但它最大的一个缺点就是资料太少,我在网上搜刮了半天也就是简单的几篇blog和它自己的mainpage,很多地方需要自己的摸索。

昨天碰到一个问题: 需要调用event_del()函数来处理一批event,这些event中,有些event只是malloc了但还没有初始化,有些event初始化了但没有event_add到系统中。如果对没初始化的event直接调用event_del,那么系统会报错(如果初始化了,即便没有执行过event_add也没有关系)。所以,这里需要一个函数来判断event是否初始化。

费半天劲找到了这个函数,是event_initialized(),源代码中的注释说明,如果event初始化了,那么这个函数返回1,否则返回0。于是我就照着做了,结果没有用。折腾半天的调试才发现,应该是源代码中的注释写错了。只要event_initialized()返回的值 > 1,那么就是已经初始化了的。像我这就返回的就是128。

 

真TMD讨厌这种没有文档的库,要不是找不到更合适的,鬼才用这种东西。