mirror of
https://github.com/nginx/nginx.git
synced 2024-12-12 10:19:00 +08:00
avoid deep nested calls, flatten call tree
This commit is contained in:
parent
8ef386e1af
commit
bd5c23ee0a
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
static void ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx);
|
static void ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx);
|
||||||
|
static void ngx_mail_smtp_resolve_name(ngx_event_t *rev);
|
||||||
static void ngx_mail_smtp_resolve_name_handler(ngx_resolver_ctx_t *ctx);
|
static void ngx_mail_smtp_resolve_name_handler(ngx_resolver_ctx_t *ctx);
|
||||||
static void ngx_mail_smtp_greeting(ngx_mail_session_t *s, ngx_connection_t *c);
|
static void ngx_mail_smtp_greeting(ngx_mail_session_t *s, ngx_connection_t *c);
|
||||||
static void ngx_mail_smtp_invalid_pipelining(ngx_event_t *rev);
|
static void ngx_mail_smtp_invalid_pipelining(ngx_event_t *rev);
|
||||||
@ -91,9 +92,8 @@ ngx_mail_smtp_init_session(ngx_mail_session_t *s, ngx_connection_t *c)
|
|||||||
static void
|
static void
|
||||||
ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx)
|
ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx)
|
||||||
{
|
{
|
||||||
ngx_connection_t *c;
|
ngx_connection_t *c;
|
||||||
ngx_mail_session_t *s;
|
ngx_mail_session_t *s;
|
||||||
ngx_mail_core_srv_conf_t *cscf;
|
|
||||||
|
|
||||||
s = ctx->data;
|
s = ctx->data;
|
||||||
c = s->connection;
|
c = s->connection;
|
||||||
@ -134,6 +134,23 @@ ngx_mail_smtp_resolve_addr_handler(ngx_resolver_ctx_t *ctx)
|
|||||||
ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0,
|
ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0,
|
||||||
"address resolved: %V", &s->host);
|
"address resolved: %V", &s->host);
|
||||||
|
|
||||||
|
c->read->handler = ngx_mail_smtp_resolve_name;
|
||||||
|
|
||||||
|
ngx_post_event(c->read, &ngx_posted_events);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
ngx_mail_smtp_resolve_name(ngx_event_t *rev)
|
||||||
|
{
|
||||||
|
ngx_connection_t *c;
|
||||||
|
ngx_mail_session_t *s;
|
||||||
|
ngx_resolver_ctx_t *ctx;
|
||||||
|
ngx_mail_core_srv_conf_t *cscf;
|
||||||
|
|
||||||
|
c = rev->data;
|
||||||
|
s = c->data;
|
||||||
|
|
||||||
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
|
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
|
||||||
|
|
||||||
ctx = ngx_resolve_start(cscf->resolver, NULL);
|
ctx = ngx_resolve_start(cscf->resolver, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user