尝试着解释几个重要的函数,首先是event_inint()函数,这个函数式最初就需要使用的函数,此函数初始化了一个全局的变量current_base,也就是event_base,默认情况下所有的event都是在想这个变量中添加。
struct event_base *event_init(void)
{
struct event_base *base = event_base_new();
if (base != NULL)
current_base = base;
return (base);
}
函数体貌似很简单,也就是初始化了一个变量,current_base,这个是全局变量,这个函数也是提供给用户的接口函数,在应用程序中,可以使用它的返回值,也可以不用返回值,不用返回值的话,在以后的所有event变量都是天价到current_base变量中,有返回值的目的是应用程序中可以多次调用event_init()函数,也就是产生多个struct event_base,可以将不同的event添加到不同的evet_base中。这个函数中主要的是调用了event_base_new(),下面继续分析event_base_new()函数:
struct event_base *
174 event_base_new(void)
175 {
176 int i;
177 struct event_base *base;
178
179 if ((base = calloc(1, sizeof(struct event_base))) == NULL)
180