summaryrefslogtreecommitdiff
path: root/src/packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/packet.c')
-rw-r--r--src/packet.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/packet.c b/src/packet.c
index 0d23553..82c0a17 100644
--- a/src/packet.c
+++ b/src/packet.c
@@ -294,23 +294,20 @@ read_packet(fde_t *fd, void *data)
/* translate openssl error codes, sigh */
if (length < 0)
switch (SSL_get_error(fd->ssl, length))
- {
+ {
case SSL_ERROR_WANT_WRITE:
- fd->flags.pending_read = 1;
- SetSendqBlocked(client_p);
- comm_setselect(fd, COMM_SELECT_WRITE, (PF *) sendq_unblocked,
- client_p, 0);
- return;
- case SSL_ERROR_WANT_READ:
- errno = EWOULDBLOCK;
+ comm_setselect(fd, COMM_SELECT_WRITE, (PF *)sendq_unblocked, client_p, 0);
+ return;
+ case SSL_ERROR_WANT_READ:
+ errno = EWOULDBLOCK;
case SSL_ERROR_SYSCALL:
- break;
+ break;
case SSL_ERROR_SSL:
if (errno == EAGAIN)
break;
default:
- length = errno = 0;
- }
+ length = errno = 0;
+ }
}
else
#endif