MEDIUM: log: add a new LW_XPRT flag to pin the transport layer

This flag will have to be set on log tags which require transport layer
information. They will prevent the conn_xprt_close() call from releasing
the transport layer too early.
This commit is contained in:
Willy Tarreau 2012-10-12 18:01:49 +02:00
parent 1e954913de
commit 93dbc2bc0e
2 changed files with 5 additions and 0 deletions

View File

@ -131,6 +131,7 @@ struct logformat_node {
#define LW_RSPHDR 2048 /* response header(s) */
#define LW_BCKIP 4096 /* backend IP */
#define LW_FRTIP 8192 /* frontend IP */
#define LW_XPRT 16384 /* transport layer information (eg: SSL) */
struct logsrv {
struct list list;

View File

@ -488,6 +488,10 @@ int session_complete(struct session *s)
goto out_free_rep;
}
/* if logs require transport layer information, note it on the connection */
if (s->logs.logwait & LW_XPRT)
s->si[0].conn.flags |= CO_FL_XPRT_TRACKED;
/* we want the connection handler to notify the stream interface about updates. */
s->si[0].conn.flags |= CO_FL_WAKE_DATA;