Adar Dembo has posted comments on this change. ( http://gerrit.cloudera.org:8080/10435 )
Change subject: KUDU-2427: retry more system calls on EINTR ...................................................................... Patch Set 4: (3 comments) http://gerrit.cloudera.org:8080/#/c/10435/4/src/kudu/security/tls_socket.cc File src/kudu/security/tls_socket.cc: http://gerrit.cloudera.org:8080/#/c/10435/4/src/kudu/security/tls_socket.cc@63 PS4, Line 63: RETRY_ON_EINTR(bytes_written, SSL_write(ssl_.get(), buf, amt)); This (and the equivalent change to SSL_read) are a little funky; is it safe to expect errno to be the primary vehicle for delivering error information from OpenSSL? Normally errno is only used after libc calls. http://gerrit.cloudera.org:8080/#/c/10435/4/src/kudu/util/net/socket.cc File src/kudu/util/net/socket.cc: http://gerrit.cloudera.org:8080/#/c/10435/4/src/kudu/util/net/socket.cc@a465 PS4, Line 465: : : : The changes in tls_socket.cc allow this (and the equivalent in BlockingRecv) to be removed. http://gerrit.cloudera.org:8080/#/c/10435/4/src/kudu/util/net/socket.cc@128 PS4, Line 128: return (err == EAGAIN) || (err == EWOULDBLOCK); I'm not as confident about this change. I made it because I think EINTR should be handled at the "ends" and thus it shouldn't show up at higher levels of the stack. -- To view, visit http://gerrit.cloudera.org:8080/10435 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I6cce03c4e1b2be32c1910382737526082fc99966 Gerrit-Change-Number: 10435 Gerrit-PatchSet: 4 Gerrit-Owner: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-Comment-Date: Thu, 17 May 2018 22:07:09 +0000 Gerrit-HasComments: Yes