Libevent:如何在关机时关闭所有打开的套接字?

时间:2014-01-24 12:37:31

标签: c libevent

我使用libevent创建了一个简单的HTTP代理。可以通过发送信号处理程序捕获的SIGHUP信号来关闭它。 shutdown函数调用event_base_loopexit,释放结构和其他堆分配和退出。

问题是如果在连接打开时捕获SIGHUP。我需要能够关闭套接字,理想情况下调用捕获close事件时调用的相同close函数。

有正确或标准的方法吗?

目前,我唯一能想到的就是保留一个链接列表,并在关机时简单地重复一遍,然后依次关闭。

1 个答案:

答案 0 :(得分:3)

  

目前,我唯一能想到的就是保留一个链接列表,只需>在关机时迭代这一点,然后依次关闭它们。

这就是你必须要做的事情。

(请注意,当应用程序退出时,套接字将关闭。但如果您需要在关闭时对所有连接执行自定义逻辑,则需要跟踪它们并迭代它们。)