Commit Diff


commit - 4c7d2b8fffba7a465cba957f823bc24d1d64cc04
commit + 73bb7969cfc48e90a10200bd6b1c8c1ed9aff4f2
blob - 5ba7c62ea12dfb7cc1038ed6e1cf888570f18266
blob + 307a6379d9996c175caacb729ddcb8a43ef94d5b
--- net.c
+++ net.c
@@ -405,9 +405,7 @@ net_tls_readcb(int fd, short event, void *d)
 		goto err;
 	}
 
-	evbuffer_unfreeze(bufev->input, 0);
 	res = evbuffer_add(bufev->input, buf, len);
-	evbuffer_freeze(bufev->input, 0);
 	if (res == -1) {
 		what |= EVBUFFER_ERROR;
 		goto err;
@@ -458,9 +456,7 @@ net_tls_writecb(int fd, short event, void *d)
 		}
 		len = ret;
 
-		evbuffer_unfreeze(bufev->output, 1);
 		evbuffer_drain(bufev->output, len);
-		evbuffer_freeze(bufev->output, 1);
 	}
 
 	if (EVBUFFER_LENGTH(bufev->output) != 0)
@@ -516,6 +512,9 @@ net_ready(struct req *req)
 	if (req->bev == NULL)
 		die();
 
+	evbuffer_unfreeze(req->bev->input, 0);
+	evbuffer_unfreeze(req->bev->output, 1);
+
 	/* setup tls i/o layer */
 	if (req->ctx != NULL) {
 		event_set(&req->bev->ev_read, req->fd, EV_READ,