phxpaxos icon indicating copy to clipboard operation
phxpaxos copied to clipboard

tcp.cpp中为何要设置signal?

Open niukuo opened this issue 6 years ago • 5 comments

看起来是调试用到的?但是在编译时没办法通过设置环境变量CFLAGS=-DNDEBUG屏蔽掉,设置这几个signal有什么用意吗? https://github.com/Tencent/phxpaxos/blob/master/src/communicate/tcp/tcp.cpp#L101

niukuo avatar Dec 12 '18 14:12 niukuo

SIGPIPE和SIGALRM默认会abort http://man7.org/linux/man-pages/man7/signal.7.html, SIGCHLD防止僵尸进程,无需处理退出的子进程

phinphing avatar Dec 14 '18 06:12 phinphing

SIGPIPE和SIGALRM默认会abort http://man7.org/linux/man-pages/man7/signal.7.html, SIGCHLD防止僵尸进程,无需处理退出的子进程

phxpaxos自身会创建子进程吗

niukuo avatar Dec 14 '18 06:12 niukuo

不会创建线程,应该是调试时用的。 @niukuo signal对你的应用有影响吗?

unixliang avatar Dec 14 '18 13:12 unixliang

程序使用popen等方式调用外部命令时无法得知子进程已经结束

niukuo avatar Dec 15 '18 07:12 niukuo

SIGPIPE如果不处理的话,在出现一些网络错误的时候,会导致进程被杀。 具体可以看一下SIGPIPE的触发机制。

lynncui00 avatar Jan 14 '19 09:01 lynncui00