From: Willy Tarreau Date: Mon, 14 Oct 2013 17:46:29 +0000 (+0200) Subject: MEDIUM: connection: replace conn_prepare with conn_assign X-Git-Tag: v1.5-dev20~104 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37213433a827848e6483cd9e899fa38f2334060f;p=thirdparty%2Fhaproxy.git MEDIUM: connection: replace conn_prepare with conn_assign Everywhere conn_prepare() is used, the call to conn_init() has already been done. We can now safely replace all instances of conn_prepare() with conn_assign() which does not reset the transport layer, and remove conn_prepare(). --- diff --git a/include/proto/connection.h b/include/proto/connection.h index bd3e890f1f..a552a04380 100644 --- a/include/proto/connection.h +++ b/include/proto/connection.h @@ -486,18 +486,6 @@ static inline void conn_assign(struct connection *conn, const struct data_cb *da conn->owner = owner; } -/* prepares a connection with the appropriate data, ctrl, transport layers, and - * owner. The transport state and context are set to 0. - */ -static inline void conn_prepare(struct connection *conn, const struct data_cb *data, - const struct protocol *ctrl, const struct xprt_ops *xprt, - void *owner) -{ - conn_assign(conn, data, ctrl, xprt, owner); - conn->xprt_st = 0; - conn->xprt_ctx = NULL; -} - /* returns a human-readable error code for conn->err_code, or NULL if the code * is unknown. */ diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h index d1c2b36bd8..3349ddec2a 100644 --- a/include/proto/stream_interface.h +++ b/include/proto/stream_interface.h @@ -63,7 +63,7 @@ static inline void si_prepare_conn(struct stream_interface *si, const struct pro si->ops = &si_conn_ops; si->end = &conn->obj_type; - conn_prepare(conn, &si_conn_cb, ctrl, xprt, si); + conn_assign(conn, &si_conn_cb, ctrl, xprt, si); } /* Assign the stream interface's pre-allocated connection to the end point, diff --git a/src/checks.c b/src/checks.c index d781b4c003..c38a1c9727 100644 --- a/src/checks.c +++ b/src/checks.c @@ -1541,7 +1541,7 @@ static struct task *process_chk(struct task *t) /* prepare a new connection */ conn_init(conn); - conn_prepare(conn, &check_conn_cb, s->check_common.proto, s->check_common.xprt, check); + conn_assign(conn, &check_conn_cb, s->check_common.proto, s->check_common.xprt, check); conn->target = &s->obj_type; /* no client address */ diff --git a/src/session.c b/src/session.c index 9afa1f517c..b8b5b4980e 100644 --- a/src/session.c +++ b/src/session.c @@ -203,7 +203,7 @@ int session_accept(struct listener *l, int cfd, struct sockaddr_storage *addr) * but not initialized. Also note we need to be careful as the stream * int is not initialized yet. */ - conn_prepare(cli_conn, &sess_conn_cb, l->proto, l->xprt, s); + conn_assign(cli_conn, &sess_conn_cb, l->proto, l->xprt, s); /* finish initialization of the accepted file descriptor */ fd_insert(cfd);