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)

Reply via email to