当前位置: 首页 > news >正文

为什么要建设就业指导网站/关键词推广方法

为什么要建设就业指导网站,关键词推广方法,wordpress搬家 中文图片,骨干专业群建设任务书网站SIGINT信号,用于捕获CTRLC终止程序。当进程收到该信号时,系统将调用该函数,并允许我们执行自定义逻辑。 但在Drogon开发使用过程中,使用signal注册了SIGINT信号,我在终端输入CTRLC终止程序,系统并没有执行f…

SIGINT信号,用于捕获CTRL+C终止程序。当进程收到该信号时,系统将调用该函数,并允许我们执行自定义逻辑。
但在Drogon开发使用过程中,使用signal注册了SIGINT信号,我在终端输入CTRL+C终止程序,系统并没有执行func()函数就直接退出了,百思不得其解。

static int func(int)
{printf("Hello\n");return 0;
}int main(int argc, char *argv[]) 
{signal(SIGINT, func);			//检测SIGINT信号drogon::app().run();			//Drogon事件循环启动		return 0;
}

经过一番追寻后,发现Drogon内部会对SIGINT信号进行处理的,而SIGINT信号只会被执行一次。当我在终端输入CTRL+C终止程序时,Drogon内部会先对信号进行处理:
1、停止接受新的连接请求,并将正在处理的请求完成(包括返回响应)。
2、关闭所有打开的数据库连接和 Redis 连接。
3、清理 epoll 相关的资源,关闭监听套接字以及所有客户端套接字。
4、退出事件循环,释放相关的资源。
处理完内部数据后,程序也就随之退出了,自定义的逻辑也就不会被调用了。

解决办法:将 signal() 函数和 signalHandler() **(Drogon内部信号处理)**函数关联起来,并在事件循环的下一个时间点执行注册操作。

代码修改成如下:

static void signalHandler(int signum)
{// 处理 SIGINT 信号LOG_INFO << "接收到信号" << signum;//调用 app().quit()以退出Drogin应用程序app().quit(); 
}int main(int argc, char *argv[]) 
{drogon::app().getLoop()->runAfter(0.0, [] { signal(SIGINT, signalHandler); });drogon::app().run();return 0;
}
  • drogon::app() 获取一个指向应用程序对象的智能指针。
  • getLoop() 获取应用程序对象所使用的事件循环对象。
  • runAfter(delay, callback) 方法将指定的 callback 回调函数在延迟 delay 秒后添加到事件循环中执行。

以上代码中 delay 参数为 0,这意味着回调函数将被立即执行,而未来的事件在此之后将被执行。在此回调函数内部,我们使用 signal() 函数将 SIGINT 信号与 signalHandler() 函数关联起来。

这种技巧可以确保信号处理程序始终在事件循环开始后立即注册,因此不必担心信号处理程序是否已经注册完成。另外,由于信号处理程序不能在主线程中运行,因此使用 runAfter() 注册信号处理程序是一种很好的方式。

http://www.jmfq.cn/news/4728997.html

相关文章:

  • 汕头网站公司/seo优化网站优化排名
  • 海淘手表网站/网页设计是干嘛的
  • 网站权限怎么弄/中国纪检监察报
  • 四川省住房和城乡建设厅官网站网/比较靠谱的网站
  • 用网站做的简历/seo自动优化工具
  • 北京联通网站备案/搜索引擎搜索器
  • 邀人做任务比较好的发布网站/淘宝关键词排名
  • java网站开发框架搭建/电商推广和网络推广的策略
  • 深圳网站建设迅美/抖音关键词排名系统
  • windows搭建网站开发/推广游戏怎么拉人最快
  • 做网站java好还是.net好/网络推广经验
  • 河南省城乡和住房建设厅网站/福州关键词快速排名
  • 莱芜市莱城区城乡建设局网站/百度视频下载
  • 如何做快递api接口网站/外贸seo网站建设
  • wordpress缩略图采集火车头/重庆seo优
  • 世界建筑网站/网络搜索关键词排名
  • 网站建设网站定制开发/seo推广方案
  • 杭州企业公司网页设计/池州网站seo
  • 网站策划建站/百度商城
  • 建设网站 费用/外贸营销网站怎么建站
  • 专业做化妆品外包材的招聘网站/seo实战优化
  • 工商工事上哪个网站做/淘宝指数
  • 网站开发常用语言比较/聚合搜索引擎
  • 网站制作常见问题 图片版权/搜索引擎营销的优缺点
  • 福州专业网站设计/网络广告策划书模板范文
  • 提供温州手机网站制作哪家好/惠州seo关键词排名
  • 苏州住房和城乡建设厅网站/会计培训班哪个机构比较好
  • 新的网站设计制作/seo基础教程
  • 四川 法治政府建设 网站/seo优化自动点击软件
  • 哪些网站不扣流量/小吃培训去哪里学最好