X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FTLS.pm;h=86e6331d5ea2df97f7cd4c22ba9898f83b275cbd;hb=0d38f65c490466837ae091afa7a7b6f59d04ce7c;hp=576c11d7cc0f917c70c646a98254eb3146306827;hpb=84d8920b92686e975929aebe845b6d4ea0a9ef0d;p=public-inbox.git diff --git a/lib/PublicInbox/TLS.pm b/lib/PublicInbox/TLS.pm index 576c11d7..86e6331d 100644 --- a/lib/PublicInbox/TLS.pm +++ b/lib/PublicInbox/TLS.pm @@ -1,24 +1,21 @@ -# Copyright (C) 2019 all contributors +# Copyright (C) 2019-2020 all contributors # License: AGPL-3.0+ # IO::Socket::SSL support code package PublicInbox::TLS; use strict; use IO::Socket::SSL; -require Carp; -use Errno qw(EAGAIN); use PublicInbox::Syscall qw(EPOLLIN EPOLLOUT); +use Carp qw(carp); sub err () { $SSL_ERROR } # returns the EPOLL event bit which matches the existing SSL error sub epollbit () { - if ($! == EAGAIN) { - return EPOLLIN if $SSL_ERROR == SSL_WANT_READ; - return EPOLLOUT if $SSL_ERROR == SSL_WANT_WRITE; - die "unexpected SSL error: $SSL_ERROR"; - } - 0; + return EPOLLIN if $SSL_ERROR == SSL_WANT_READ; + return EPOLLOUT if $SSL_ERROR == SSL_WANT_WRITE; + carp "unexpected SSL error: $SSL_ERROR"; + undef; } 1;