Greg Mann created MESOS-5999:
--------------------------------
Summary: Re-evaluate socket EOF semantics in libprocess
Key: MESOS-5999
URL: https://issues.apache.org/jira/browse/MESOS-5999
Project: Mesos
Issue Type: Bug
Components: libprocess
Reporter: Greg Mann
While debugging some issues related to libprocess
finalization/reinitialization, [~bmahler] pointed out that libprocess doesn't
strictly adhere to the expected behavior of Unix sockets after an EOF is
received. If a socket receives EOF, this means only that the writer on the
other end has closed the write end of its socket. However, the other end may
still be interested in reading. Libprocess currently treats a received EOF as
if {{shutdown()}} has been called on the socket, and both ends have been closed
for both reading and writing (see
[here|https://github.com/apache/mesos/blob/1.0.0/3rdparty/libprocess/src/libevent_ssl_socket.cpp#L349-L360]
and
[here|https://github.com/apache/mesos/blob/1.0.0/3rdparty/libprocess/src/process.cpp#L692-L697]).
We should consider changing the EOF semantics of the {{Socket}} object to more
closely match those of Unix sockets.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)