Benjamin Mahler created MESOS-10124:
---------------------------------------

             Summary: OpenSSLSocketImpl on Windows with 'support_downgrade' is 
incorrectly polling for read readiness.
                 Key: MESOS-10124
                 URL: https://issues.apache.org/jira/browse/MESOS-10124
             Project: Mesos
          Issue Type: Bug
          Components: libprocess
            Reporter: Benjamin Mahler


OpenSSLSocket is currently using the zero byte read trick on Windows to poll 
for read readiness when peaking at the data to determine whether the incoming 
connection is performing an SSL handshake. However, io::read is designed to 
provide consistent semantics for a zero byte read across posix and windows, 
which is to return immediately.

To fix this, we can either:

(1) Have different semantics for zero byte io::read on posix / windows, where 
we just let it fall through to the system calls. This might be confusing for 
users, but it's unlikely that a caller would perform a zero byte read in 
typical code so the confusion is probably avoided.

(2) Implement io::poll for reads on windows. This would make the caller code 
consistent and is probably less confusing to users.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to