mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph Wu" <jos...@mesosphere.io>
Subject Re: Review Request 41253: Changed ownership semantics of ssl connect socket.
Date Fri, 18 Dec 2015 01:03:13 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41253/#review111095
-----------------------------------------------------------


What platform(s) did you try this on?

LGTM, modulo the below:


3rdparty/libprocess/src/libevent_ssl_socket.cpp (line 465)
<https://reviews.apache.org/r/41253/#comment171077>

    It's possible that you need to re-apply `os::cloexec`.  (I'm not sure what the consequences
would be without doing this.)
    
    According to `man dup`:
    > The two descriptors do not share file descriptor flags (the close-on-exec flag).
The close-on-exec flag (FD_CLOEXEC; see fcntl(2)) for the duplicate descriptor is off.


- Joseph Wu


On Dec. 14, 2015, 6:27 p.m., Jojy Varghese wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/41253/
> -----------------------------------------------------------
> 
> (Updated Dec. 14, 2015, 6:27 p.m.)
> 
> 
> Review request for mesos, Joris Van Remoortere and Joseph Wu.
> 
> 
> Bugs: MESOS-3773
>     https://issues.apache.org/jira/browse/MESOS-3773
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> libprocess Socket shares the ownership of the file descriptor with libevent. In
> the destructor of the libprocess libevent_ssl socket, we call ssl shutdown which
> is executed asynchronously. This causes the libprocess socket file descriptor to
> be closed (and possibly reused) when the same file descriptor could be used by
> libevent/ssl. Since we set the shutdown options as SSL_RECEIVED_SHUTDOWN, we
> leave the any write operations to continue with possibly closed file descriptor.
>     
> This change solves the above issue by copying(dup) the original file descriptor
> and hands over the copy to libevent ssl. The copied descriptor is then managed
> by libprocess Socket.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/libevent_ssl_socket.hpp 2669b1a1d8f275b89c75d5f12fc696be2b277220

>   3rdparty/libprocess/src/libevent_ssl_socket.cpp 55b91dd47bb5bd5e97147d0af91c7899fd42702c

> 
> Diff: https://reviews.apache.org/r/41253/diff/
> 
> 
> Testing
> -------
> 
> make check.
> 
> 
> Thanks,
> 
> Jojy Varghese
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message