【问题标题】:what's the exactly meaning of EV_TIMEOUT in libevent?libevent中EV_TIMEOUT的确切含义是什么?
【发布时间】:2017-04-19 14:56:04
【问题描述】:

Programming with Libevent 书中,它说:

EV_TIMEOUT

此标志表示一个事件在超时后变为活动状态 过去了。

AFAIK,当网络 IO 事件准备好时,与 socket fd 关联的事件将变为活动状态,由 select/epoll/poll/kqueue 通知。

如果EV_TIMEOUT 激活了一个事件,而socket fd 还没有准备好,event_base 会做回调吗?

或者socket fd准备好了,而EV_TIMEOUT还没有,event_base会做回调吗?

【问题讨论】:

    标签: timeout epoll libevent


    【解决方案1】:

    哦,我明白了。

    void (*event_callback_fn)(evutil_socket_t, short, void *);
    

    short 标志将告诉回调到底发生了什么。

    超时时short & EV_TIMEOUT == true,套接字就绪时short & (EV_READ | EV_WRITE) == true

    【讨论】:

      猜你喜欢
      • 2011-12-14
      • 1970-01-01
      • 2011-05-06
      • 2013-07-22
      • 2010-11-05
      • 2016-10-27
      • 2015-08-02
      相关资源
      最近更新 更多