当调用 event_base_dispatch 时,程序将进入一个阻塞状态,直到发生以下情况之一才会退出: 有事件被触发并处理。 调用event_base_loopbreak 或event_base_loopexit 函数显式地请求退出事件循环。 发生错误或异常情况。2. event_base_dispatch函数在什么情况下会退出 event_base_dispatch 在以下情况下会退出: ...
事件循环可以通过多种方式退出,例如用户调用 event_base_loopbreak 或event_base_loopexit,或者在某些错误情况下自动退出。 这个dispatch有多重实现,针对select、epoll等B-1:epoll_dispatch epoll.c # epoll_dispatch(struct event_base *base, struct timeval *tv) ...
EVENT_BASE_FLAG_IGNORE_ENV标志首次出现在 Libevent 2.0.2-alpha 中。 EVENT_BASE_FLAG_PRECISE_TIMER标志首次出现在 Libevent 中 2.1.2-阿尔法。event_config_set_num_cpus_hint() 函数是 Libevent 中的新函数 2.0.7-rc 和 event_config_set_max_dispatch_interval() 是 2.1.1-alpha 中的新功能。 本节...
}/*update last old time*/gettime(base, &base->event_tv);/*clear time cache*/base->tv_cache.tv_sec =0;//调用I/O多路复用,监听事件res = evsel->dispatch(base, evbase, tv_p);if(res == -1)return(-1);//将time cache赋值为当前系统时间gettime(base, &base->tv_cache);//检查定时...
public EventBase::dispatch(): void Wait for events to become active, and run their callbacks. The same as EventBase::loop() with no flags set. 警告 Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to ...
int event_base_dispatch(struct event_base *base); 函数说明: 进入循环等待事件 参数说明:由event_base_new函数返回的指向event_base结构的指针 调用该函数, 相当于没有设置标志位的event_base_loop。程序将会一直运行, 直到没有需要检测的事件了, 或者被结束循环的API终止。 事件循环退出event_base_loopbreak和...
(void*)&sockfd);event_add(ev_cmd,NULL);event_base_dispatch(base);printf("finished \n");return0; } 开发者ID:heyuanlong,项目名称:stage,代码行数:43,代码来源:client.c 示例4: main ▲点赞 1▼ intmain(intargc,char* argv[]){if(argc !=3) {printf("%s config-file node_id\n", argv[...
EventBase::dispatch— Dispatch pending events说明 public EventBase::dispatch ( void ) : void Wait for events to become active, and run their callbacks. The same as EventBase::loop() with no flags set. Warning Do NOT destroy the EventBase object as long as resources of the associated ...
1.创建一个事件基对象(event_base*event_base);2.绑定一个或多个套接字到事件基上(event_base_add_socket(event_base,socket,events));3.将回调函数注册到对应的事件上(event_base_set(event_base,event,callback,user));4.开始监听事件(event_base_dispatch(event_base));...