int event_base_loop(struct event_base *, int); 在event_base_dispatch函数中,实际上调用的是event_base_loop(event_base, 0);也就是如果使用event_base_dispatch函数执行事件主循环,那么会将event_base_loop的第二个参数设置为0去调用它,下面来看看event_base_l
int event_base_loopexit(struct event_base *base, const struct timeval *tv); int event_base_loopbreak(struct event_base *base); struct timeval { long tv_sec; long tv_usec; }; 两个函数的区别是如果正在执行激活事件的回调函数, 那么event_base_loopexit将在事件回调执行结束后终止循环(如果tv时间非...
(1) 通常情况下可以通过 event_base_new 函数获得 event_base 结构。 struct event_base *event_base_new(void); (2) 申请到 event_base 结构指针可以通过event_base_free 进行释放。 void event_base_free(struct event_base *); (3) 如果 fork 出子进程,想在子进程继续使用 event_base,那么子进程需要...
event_base_loopexit:如果tv参数不为空,则让event_base在给定时间之后停止循环。如果tv参数为NULL,event_base会立即停止循环,没有延时。如果event_base当前正在执行任何激活事件的回调,则回调会继续运行,直到运行完所有激活事件的回调之才退出。 event_base_loopbreak:event_base立即退出循环。它与event_base_loopexit(b...
1 int event_base_dispatch(struct event_base *); 调用该函数,相当于没有设置标志位的event_base_loop,程序将会一直运行,直到没有需要检测的事件了,或者被结束循环的api终止了。 1 2 int event_base_loopexit(struct event_base *, const struct timeval *); int event_base_loopbreak(struct event_base...
← event_base_loop event_base_loopexit → 代码语言:txt 复制 © 1997–2017 The PHP Documentation Group Licensed under the Creative Commons Attribution License v3.0 or later. https://secure.php.net/manual/en/function.event-base-loopbreak.php ...
int event_base_loop(struct event_base *, int); 等待事件被触发,然后调用它们的回调函数。这是 event_base_dispatch的更灵活版本。默认情况下,这个循环会一直运行,直到没有添加的事件,或者直到调用了event_base_loopbreak()或者evenet_base_loopexit().你可以通过flags参数修改这个行为。
两个函数的区别是如果正在执行激活事件的回调函数, 那么event_base_loopexit将在事件回调执行结束后终止循环(如果tv时间非NULL, 那么将等待tv设置的时间后立即结束循环), 而event_base_loopbreak会立即终止循环。 event_process_active 主要是处理激活队列中的数据 ...
By default, this loop will run the event base until either there are no more pending or active events, or until something calls event_base_loopbreak() or event_base_loopexit(). You can override this behavior with the 'flags' argument. ...
当调用 event_base_dispatch 时,程序将进入一个阻塞状态,直到发生以下情况之一才会退出: 有事件被触发并处理。 调用event_base_loopbreak 或event_base_loopexit 函数显式地请求退出事件循环。 发生错误或异常情况。2. event_base_dispatch函数在什么情况下会退出 event_base_dispatch 在以下情况下会退出: ...