提交 d15f0f78 authored 作者: blu's avatar blu

evdaemon: clean up SIGCHLD

上级 f38ea19c
...@@ -1173,6 +1173,11 @@ class EvWatchDog { ...@@ -1173,6 +1173,11 @@ class EvWatchDog {
EvWatchDog gWatchDog = EvWatchDog("/dev/ttyS1"); EvWatchDog gWatchDog = EvWatchDog("/dev/ttyS1");
void waitchild(int signal)
{
while (waitpid((pid_t) (-1), 0, WNOHANG) > 0) {}
}
void cleanup(int signal) void cleanup(int signal)
{ {
// STOP watch dog // STOP watch dog
...@@ -1186,7 +1191,7 @@ void cleanup(int signal) ...@@ -1186,7 +1191,7 @@ void cleanup(int signal)
int main() int main()
{ {
// signal(SIGCHLD, cleanup); signal(SIGCHLD, waitchild);
signal(SIGINT, cleanup); signal(SIGINT, cleanup);
signal(SIGTERM, cleanup); signal(SIGTERM, cleanup);
signal(SIGKILL, cleanup); signal(SIGKILL, cleanup);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论