[nginx] Mail: switched to posted events when resuming reading.

Maxim Dounin mdounin at mdounin.ru
Sat Mar 30 04:59:45 UTC 2024


details:   http://freenginx.org/hg/nginx/rev/9ca12c957304
branches:  
changeset: 9233:9ca12c957304
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Sat Mar 30 05:04:25 2024 +0300
description:
Mail: switched to posted events when resuming reading.

When resuming reading after ngx_mail_send(), switched to using posted
events instead of a direct event handler call.  This ensures limited
stack usage when processing multiple pipelined commands.

diffstat:

 src/mail/ngx_mail_handler.c |  2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

diff --git a/src/mail/ngx_mail_handler.c b/src/mail/ngx_mail_handler.c
--- a/src/mail/ngx_mail_handler.c
+++ b/src/mail/ngx_mail_handler.c
@@ -799,7 +799,7 @@ ngx_mail_send(ngx_event_t *wev)
         }
 
         if (s->blocked) {
-            c->read->handler(c->read);
+            ngx_post_event(c->read, &ngx_posted_events);
         }
 
         return;



More information about the nginx-devel mailing list