qicosmos / rest_rpc

modern C++(C++11), simple, easy to use rpc framework
MIT License
1.66k stars 365 forks source link

server退出的一些问题 #6

Open vbtang opened 5 years ago

vbtang commented 5 years ago

server在运行了run之后,整个进程就被接管了。 1、如何退出server? 2、如何在退出server后完成一些资源释放的代码呢?

qicosmos commented 5 years ago

server有个异步的async_run接口,这个接口不会阻塞进程。

vbtang commented 5 years ago

步的async_run接口,这个接口

用了这个接口, pc上在ctrl+c的时候无法退出主进程,只有按了esc后回车才能正常退出。

为了回收资源,注册了SIGINT的响应函数,在嵌入式设备上SIGINT的响应函数内调用一个单例会出现崩溃的情况,但是不调用单例就可以退出,很神奇。。。即使我在单例的函数里什么都不干都会出现崩溃,函数执行到一半就崩了。

qicosmos commented 5 years ago

应该通过信号或命令行通知服务器退出。 服务的asyc_run不会阻塞主线程,然后你可以在主线程里等待外面传入的信号了,收到信号之后不再等待就会自行退出。

vbtang commented 5 years ago

应该通过信号或命令行通知服务器退出。 服务的asyc_run不会阻塞主线程,然后你可以在主线程里等待外面传入的信号了,收到信号之后不再等待就会自行退出。 可以了,谢谢~

qicosmos commented 4 years ago

现在是通过信号量通知退出了,你可以测试一下。