void
event_set(struct event *ev, int fd, short events,
void (*callback)(int, short, void *), void *arg)
{
/* Take the current base - caller needs to set the real base later */
ev->ev_base = current_base;//current_base为一个全局变量,生成一个event_base默认会被赋值给它,默认的event会与这个全局变量关联</span>
ev->ev_callback = callback;
ev->ev_arg = arg;
ev->ev_fd = fd;
ev->ev_events = events;
ev->ev_res = 0;
ev->ev_flags = EVLIST_INIT;
ev->ev_ncalls = 0;
ev->ev_pncalls = NULL;
min_heap_elem_init(ev);初始化min_heap_idx为-1
/* by default, we put new events into the middle priority */
if(current_base)
ev->ev_pri = current_base->nactivequeues/2;//默认event的优先级是最高优先级的一半
}
[libevent]event_set()
最新推荐文章于 2022-08-25 20:02:19 发布