commit - b4c3daf29228ba34049b469d257f9a6fe837c40d
commit + 5c7de8d810a3bd53d60b112f1b936be2d77ff881
blob - 4fafd4fdf6a4cfd83ad061c3f5b3d866c2dc8e9c
blob + 3d4a0a1751eb667bbed517a2cc617aca8ab21ff6
--- relay_http.c
+++ relay_http.c
cre->toread = TOREAD_HTTP_HEADER;
bev->readcb = relay_read_http;
}
- if (con->se_done)
- goto done;
+ if (con->se_done) {
+ relay_close(con, "last http content read", 0);
+ return;
+ }
bufferevent_enable(bev, EV_READ);
if (cre->dst->bev && EVBUFFER_LENGTH(EVBUFFER_OUTPUT(cre->dst->bev)) >
bev->readcb(bev, arg);
/* The callback readcb() might have freed the session. */
return;
- done:
- relay_close(con, "last http content read", 0);
- return;
fail:
relay_close(con, strerror(errno), 1);
}
}
next:
- if (con->se_done)
- goto done;
+ if (con->se_done) {
+ relay_close(con, "last http chunk read (done)", 0);
+ return;
+ }
bufferevent_enable(bev, EV_READ);
if (cre->dst->bev && EVBUFFER_LENGTH(EVBUFFER_OUTPUT(cre->dst->bev)) >
bev->readcb(bev, arg);
/* The callback readcb() might have freed the session. */
return;
-
- done:
- relay_close(con, "last http chunk read (done)", 0);
- return;
fail:
relay_close(con, strerror(errno), 1);
}