<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Hmm...</p>
<p>From <a href="https://books.google.de/books?id=Ps2SH727eCIC&lpg=PA103&ots=kMHcB5EQya&dq=From%20The%20Linux%20Programming%20Interface%3A%20A%20Linux%20and%20UNIX%20System%20Programming%20Handbook%3A%20Nonblocking%20mode%20can%20be%20used%20with%20devices%20(e.g.%2C%20terminals%20and%20pseudoterminals)%2C%20pipes%2C%20FIFOs%2C%20and%20sockets.%20(Because%20file%20descriptors%20for%20pipes%20and%20sockets%20are%20not%20obtained%20using%20open()%2C%20we%20must%20enable%20The%20Linux%20Programming%20Interface%3A%20A%20Linux%20and%20UNIX%20System%20Programming%20Handbook&hl=de&pg=PA103#v=onepage&q&f=false"><em>The Linux Programming Interface: A Linux and UNIX System Programming Handbook</em></a>:</p>
<p style="padding-left: 30px;">Nonblocking mode can be used with devices (e.g., terminals and pseudoterminals), pipes, FIFOs, and sockets. (Because file descriptors for pipes and sockets are not obtained using open(), we must enable this flag using the fcntl() F_SETFL operation described in Section 5.3.)</p>
<p>So basically if a "sharing" of standard handles is properly implemented between master/workers and a line buffering is good enough for the logging, you can "write to terminal in non-blocking manner."</p>
<p>Additionally note the stdout can be mapped to systemd journals (which are files and channel will be to pipe), if nginx would running as systemd service unit.<br /><br />Regards,<br />Serg.</p>
<p>27.06.2019 19:35, Valentin V. Bartenev wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px">
<pre>
Afaik, there's no way in Linux systems to write to terminal in
non-blocking manner.  As the result, writing log can block the
whole nginx worker process and cause DoS.

IMHO, it's not a good idea to make your web-application depend
on logging capabilities.

  wbr, Valentin V. Bartenev

_______________________________________________
nginx-devel mailing list
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a></pre>
</blockquote>
</body></html>