mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-19 12:10:46 +00:00
MEDIUM: stream: also accept appctx as origin in stream_accept_session()
It's likely that the code could be simplified a bit though.
This commit is contained in:
parent
f2b9874bcf
commit
470280ef63
@ -70,6 +70,7 @@ int stream_accept_session(struct session *sess, struct task *t)
|
|||||||
struct listener *l = sess->listener;
|
struct listener *l = sess->listener;
|
||||||
struct proxy *p = sess->fe;
|
struct proxy *p = sess->fe;
|
||||||
struct connection *conn = objt_conn(sess->origin);
|
struct connection *conn = objt_conn(sess->origin);
|
||||||
|
struct appctx *appctx = objt_appctx(sess->origin);
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -153,6 +154,8 @@ int stream_accept_session(struct session *sess, struct task *t)
|
|||||||
/* attach the incoming connection to the stream interface now. */
|
/* attach the incoming connection to the stream interface now. */
|
||||||
if (conn)
|
if (conn)
|
||||||
si_attach_conn(&s->si[0], conn);
|
si_attach_conn(&s->si[0], conn);
|
||||||
|
else if (appctx)
|
||||||
|
si_attach_appctx(&s->si[0], appctx);
|
||||||
|
|
||||||
if (likely(sess->fe->options2 & PR_O2_INDEPSTR))
|
if (likely(sess->fe->options2 & PR_O2_INDEPSTR))
|
||||||
s->si[0].flags |= SI_FL_INDEP_STR;
|
s->si[0].flags |= SI_FL_INDEP_STR;
|
||||||
@ -207,6 +210,8 @@ int stream_accept_session(struct session *sess, struct task *t)
|
|||||||
/* finish initialization of the accepted file descriptor */
|
/* finish initialization of the accepted file descriptor */
|
||||||
if (conn)
|
if (conn)
|
||||||
conn_data_want_recv(conn);
|
conn_data_want_recv(conn);
|
||||||
|
else if (appctx)
|
||||||
|
s->si[0].flags |= SI_FL_WAIT_DATA;
|
||||||
|
|
||||||
/* FIXME: we shouldn't restrict ourselves to connections but for now
|
/* FIXME: we shouldn't restrict ourselves to connections but for now
|
||||||
* the only ->accept() only works with sessions.
|
* the only ->accept() only works with sessions.
|
||||||
|
Loading…
Reference in New Issue
Block a user