我使用libevent创建了一个简单的HTTP代理。可以通过发送信号处理程序捕获的SIGHUP
信号来关闭它。 shutdown函数调用event_base_loopexit
,释放结构和其他堆分配和退出。
问题是如果在连接打开时捕获SIGHUP
。我需要能够关闭套接字,理想情况下调用捕获close事件时调用的相同close函数。
有正确或标准的方法吗?
目前,我唯一能想到的就是保留一个链接列表,并在关机时简单地重复一遍,然后依次关闭。
答案 0 :(得分:3)
目前,我唯一能想到的就是保留一个链接列表,只需>在关机时迭代这一点,然后依次关闭它们。
这就是你必须要做的事情。
(请注意,当应用程序退出时,套接字将关闭。但如果您需要在关闭时对所有连接执行自定义逻辑,则需要跟踪它们并迭代它们。)