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().
This commit is contained in:
Willy Tarreau 2013-10-14 19:46:29 +02:00
parent 4bd33a9e15
commit 37213433a8
4 changed files with 3 additions and 15 deletions

View File

@ -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.
*/

View File

@ -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,

View File

@ -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 */

View File

@ -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);