case PROMEX_ST_END:
if (!(res->flags & CF_SHUTR)) {
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
}
}
return;
error:
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
sc_shutw(sc);
}
* Please also update the chn_show_flags() function below in case of changes.
*/
-#define CF_READ_NULL 0x00000001 /* last read detected on producer side */
+#define CF_READ_EVENT 0x00000001 /* a read event detected on producer side */
#define CF_READ_PARTIAL 0x00000002 /* some data were read from producer or a read exception occurred */
#define CF_READ_TIMEOUT 0x00000004 /* timeout while waiting for producer */
#define CF_READ_ERROR 0x00000008 /* unrecoverable error on producer side */
-#define CF_READ_ACTIVITY (CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ERROR)
+#define CF_READ_ACTIVITY (CF_READ_EVENT|CF_READ_PARTIAL|CF_READ_ERROR)
/* unused: 0x00000010 */
#define CF_SHUTR 0x00000020 /* producer has already shut down */
/* prologue */
_(0);
/* flags */
- _(CF_READ_NULL, _(CF_READ_PARTIAL, _(CF_READ_TIMEOUT, _(CF_READ_ERROR,
+ _(CF_READ_EVENT, _(CF_READ_PARTIAL, _(CF_READ_TIMEOUT, _(CF_READ_ERROR,
_(CF_SHUTR, _(CF_SHUTR_NOW, _(CF_READ_NOEXP, _(CF_WRITE_NULL,
_(CF_WRITE_PARTIAL, _(CF_WRITE_TIMEOUT, _(CF_WRITE_ERROR,
_(CF_WAKE_WRITE, _(CF_SHUTW, _(CF_SHUTW_NOW, _(CF_AUTO_CLOSE,
end:
if (!(res->flags & CF_SHUTR) && appctx->st0 == HTX_CACHE_END) {
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
}
* on the response buffer.
*/
sc_shutr(sc);
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
}
out:
sc_set_state(s->scb, SC_ST_INI);
s->scb->flags &= SC_FL_ISBACK | SC_FL_DONT_WAKE; /* we're in the context of process_stream */
s->req.flags &= ~(CF_SHUTW|CF_SHUTW_NOW|CF_AUTO_CONNECT|CF_WRITE_ERROR|CF_STREAMER|CF_STREAMER_FAST|CF_NEVER_WAIT|CF_WROTE_DATA);
- s->res.flags &= ~(CF_SHUTR|CF_SHUTR_NOW|CF_READ_ATTACHED|CF_READ_ERROR|CF_READ_NOEXP|CF_STREAMER|CF_STREAMER_FAST|CF_WRITE_PARTIAL|CF_NEVER_WAIT|CF_WROTE_DATA|CF_READ_NULL);
+ s->res.flags &= ~(CF_SHUTR|CF_SHUTR_NOW|CF_READ_ATTACHED|CF_READ_ERROR|CF_READ_NOEXP|CF_STREAMER|CF_STREAMER_FAST|CF_WRITE_PARTIAL|CF_NEVER_WAIT|CF_WROTE_DATA|CF_READ_EVENT);
s->flags &= ~(SF_DIRECT|SF_ASSIGNED|SF_BE_ASSIGNED|SF_FORCE_PRST|SF_IGNORE_PRST);
s->flags &= ~(SF_CURR_SESS|SF_REDIRECTABLE|SF_SRV_REUSED);
s->flags &= ~(SF_ERR_MASK|SF_FINST_MASK|SF_REDISP);
close:
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
}
void dns_queries_flush(struct dns_session *ds)
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
}
/* Destroy the task attached to this applet */
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
__fallthrough;
case SPOE_APPCTX_ST_END:
if (ctx->die) {
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
notification_wake(&ctx->wake_on_read);
notification_wake(&ctx->wake_on_write);
stream_shutdown(__sc_strm(sc), SF_ERR_KILLED);
/* eat the whole request */
co_skip(sc_oc(sc), co_data(sc_oc(sc)));
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
return;
done:
if (http_ctx->flags & APPLET_DONE) {
if (!(res->flags & CF_SHUTR)) {
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
}
res = &s->res;
/* Remove any write error from the request, and read error from the response */
req->flags &= ~(CF_WRITE_ERROR | CF_WRITE_TIMEOUT | CF_SHUTW | CF_SHUTW_NOW);
- res->flags &= ~(CF_READ_ERROR | CF_READ_TIMEOUT | CF_SHUTR | CF_EOI | CF_READ_NULL | CF_SHUTR_NOW);
+ res->flags &= ~(CF_READ_ERROR | CF_READ_TIMEOUT | CF_SHUTR | CF_EOI | CF_READ_EVENT | CF_SHUTR_NOW);
res->analysers &= AN_RES_FLT_END;
s->conn_err_type = STRM_ET_NONE;
s->flags &= ~(SF_CONN_EXP | SF_ERR_MASK | SF_FINST_MASK);
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
return;
}
}
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
goto out;
}
}
close:
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
}
/*
close:
sc_shutw(sc);
sc_shutr(sc);
- sc_ic(sc)->flags |= CF_READ_NULL;
+ sc_ic(sc)->flags |= CF_READ_EVENT;
}
void __sink_forward_session_deinit(struct sink_forward_target *sft)
if (conn) {
if (conn->flags & (CO_FL_EARLY_SSL_HS | CO_FL_SSL_WAIT_HS)) {
sc_ep_set(s->scf, SE_FL_WAIT_FOR_HS);
- s->req.flags |= CF_READ_NULL;
+ s->req.flags |= CF_READ_EVENT;
return ACT_RET_YIELD;
}
}
if (appctx->st0 == STAT_HTTP_END) {
if (!(res->flags & CF_SHUTR)) {
- res->flags |= CF_READ_NULL;
+ res->flags |= CF_READ_EVENT;
sc_shutr(sc);
}
/* wake the task up only when needed */
if (/* changes on the production side */
- (ic->flags & (CF_READ_NULL|CF_READ_ERROR)) ||
+ (ic->flags & (CF_READ_EVENT|CF_READ_ERROR)) ||
!sc_state_in(sc->state, SC_SB_CON|SC_SB_RDY|SC_SB_EST) ||
sc_ep_test(sc, SE_FL_ERROR) ||
((ic->flags & CF_READ_PARTIAL) &&
ret = 1;
else if (sc_ep_test(sc, SE_FL_EOS)) {
/* we received a shutdown */
- ic->flags |= CF_READ_NULL;
+ ic->flags |= CF_READ_EVENT;
if (ic->flags & CF_AUTO_CLOSE)
channel_shutw_now(ic);
sc_conn_read0(sc);
*/
if (sc_ep_test(sc, SE_FL_EOS) && !(ic->flags & CF_SHUTR)) {
/* we received a shutdown */
- ic->flags |= CF_READ_NULL;
+ ic->flags |= CF_READ_EVENT;
if (ic->flags & CF_AUTO_CLOSE)
channel_shutw_now(ic);
sc_conn_read0(sc);
struct channel *req = &s->req;
struct channel *res = &s->res;
- req->flags &= ~(CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
- res->flags &= ~(CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
+ req->flags &= ~(CF_READ_EVENT|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
+ res->flags &= ~(CF_READ_EVENT|CF_READ_PARTIAL|CF_READ_ATTACHED|CF_WRITE_NULL|CF_WRITE_PARTIAL);
s->prev_conn_state = scb->state;