【发布时间】:2017-03-17 21:35:36
【问题描述】:
我试图通过分叉一个子进程并使父进程退出来使 c++ gRPC 服务器成为一个守护进程。但在那之后,客户端握手开始失败。
E0307 01:15:58.221786152 27094 handshake.c:128] Security handshake failed:
{"created":"@1488878158.221756436","description":"Handshake read failed",
"file":"src/core/lib/security/transport/handshake.c",
"file_line":237,"referenced_errors":
[{"created":"@1488878158.221740996","description":"FD shutdown",
"file":"src/core/lib/iomgr/ev_epoll_linux.c","file_line":948}]}
在调用BuildAndStart() 之后调用fork() 时会发生这种情况。如果在BuildAndStart() 之前完成相同的分叉,一切正常。
我对底层 SSL 实现以及 gRPC 服务器如何处理密钥和证书一无所知。
【问题讨论】: