diff src/mail/ngx_mail_imap_handler.c @ 1480:a231e37a19ab

move event handling to protocol specific code, it is required to support SMTP greeting delay
author Igor Sysoev <igor@sysoev.ru>
date Fri, 14 Sep 2007 10:42:19 +0000
parents 2647950e047f
children 4606dce4f416
line wrap: on
line diff
--- a/src/mail/ngx_mail_imap_handler.c
+++ b/src/mail/ngx_mail_imap_handler.c
@@ -45,10 +45,16 @@ ngx_mail_imap_init_session(ngx_mail_sess
         }
     }
 
+    s->out.len = sizeof(imap_greeting) - 1;
+    s->out.data = imap_greeting;
+
     c->read->handler = ngx_mail_imap_init_protocol;
 
-    s->out.len = sizeof(imap_greeting) - 1;
-    s->out.data = imap_greeting;
+    ngx_add_timer(c->read, cscf->timeout); 
+
+    if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
+        ngx_mail_close_connection(c);
+    }
 
     ngx_mail_send(c->write);
 }