Forum: NGINX Stop write log after have a problems for write(3).

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ca88eb9481b38f1e4e202bdf34efb676?d=identicon&s=25 Kirill A. Korinskiy (Guest)
on 2009-04-17 17:42
(Received via mailing list)
From: Kirill A. Korinskiy <catap@catap.ru>

Now we have a some issue — the I/O is a sync operation and we blocking
every time to try write to full partition. This patch stop write a log
after first problem.
---
 src/core/ngx_log.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
index f1718f1..6829d77 100644
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -150,7 +150,10 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t
*log, ngx_err_t err,

     ngx_linefeed(p);

-    (void) ngx_write_fd(log->file->fd, errstr, p - errstr);
+    if (ngx_write_fd(log->file->fd, errstr, p - errstr)
+        == -1) {
+        log->file->fd = NGX_INVALID_FILE;
+    }
 }
This topic is locked and can not be replied to.