event_base_new

libevent 初始化与event_init

为君一笑 提交于 2020-12-03 12:36:20
概述 在使用libevent函数之前,首先需要调用其event_init函数进行初始化。 初始化过程主要是创建一个全局默认的current_base变量,其类型为 struct event_base。 struct event_base对象变量可由eventn_base_new()函数创建并初始化。 libevent中,部分函数默认直接操作全局current_base,部分相同功能函数 可特别指定由event_base_new()创建的其他struct event_base变量,如: event_set()默认操作的全局current_base变量, event_base_set()则操作指定的event_base变量。 event_init与event_base_new函数 该函数将调用event_base_new()函数,创建并初始化一个struct event_base对象, 并将该对象赋值给全局变量current_base,作为全局默认的event_base。 event_base_new()则用于创建一个新的event_base结构对象,并对其进行初始化。 初始化过程包括选择使用的IO事件模型,创建事件队列等。 event_base结构 struct event_base { const struct eventop *evsel; void *evbase; int