<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core/ngx_cycle.c, branch release-1.30.0</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>The "multipath" parameter of the "listen" directive.</title>
<updated>2026-03-18T21:13:51+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2025-10-16T15:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=920dc099c130e0ea23eb36becd157a95901aa5a2'/>
<id>920dc099c130e0ea23eb36becd157a95901aa5a2</id>
<content type='text'>
When configured, it enables Multipath TCP support on a listen socket.
As of now it works on Linux starting with Linux 5.6 and glibc 2.32,
where it is enabled with an IPPROTO_MPTCP socket(2) protocol.

To avoid EADDRINUSE errors in bind() and listen() when transitioning
between sockets with different protocols, SO_REUSEPORT is set on both
sockets.  See f7f1607bf for potential implications.

Based on previous work by Maxime Dourov and Anthony Doeraene.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When configured, it enables Multipath TCP support on a listen socket.
As of now it works on Linux starting with Linux 5.6 and glibc 2.32,
where it is enabled with an IPPROTO_MPTCP socket(2) protocol.

To avoid EADDRINUSE errors in bind() and listen() when transitioning
between sockets with different protocols, SO_REUSEPORT is set on both
sockets.  See f7f1607bf for potential implications.

Based on previous work by Maxime Dourov and Anthony Doeraene.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: inheritance of non-reusable shared memory zones.</title>
<updated>2024-11-07T15:57:42+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-11-03T19:22:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=1524c5e3fc9cbff6ef97ab97017a4b73bd85694b'/>
<id>1524c5e3fc9cbff6ef97ab97017a4b73bd85694b</id>
<content type='text'>
When re-creating a non-reusable zone, make the pointer to the old zone
available during the new zone initialization.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When re-creating a non-reusable zone, make the pointer to the old zone
available during the new zone initialization.</pre>
</div>
</content>
</entry>
<entry>
<title>Core: "-e" command line option.</title>
<updated>2020-11-19T16:59:00+00:00</updated>
<author>
<name>Igor Ippolitov</name>
<email>iippolitov@nginx.com</email>
</author>
<published>2020-11-19T16:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7e1637a31631955aec753365c7149c64b216d47e'/>
<id>7e1637a31631955aec753365c7149c64b216d47e</id>
<content type='text'>
When installing or running from a non-root user it is sometimes required to
override default, compiled in error log path. There was no way to do this
without rebuilding the binary (ticket #147).

This patch introduced "-e" command line option which allows one to override
compiled in error log path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When installing or running from a non-root user it is sometimes required to
override default, compiled in error log path. There was no way to do this
without rebuilding the binary (ticket #147).

This patch introduced "-e" command line option which allows one to override
compiled in error log path.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: close PID file when writing fails.</title>
<updated>2020-07-21T17:34:29+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2020-07-21T17:34:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=80daef96f1e1de397b8bc455ac3a3fbc060607cf'/>
<id>80daef96f1e1de397b8bc455ac3a3fbc060607cf</id>
<content type='text'>
Reported by Jinhua Tan.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Jinhua Tan.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed removing of listening UNIX sockets when "changing binary".</title>
<updated>2020-06-01T17:19:27+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2020-06-01T17:19:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=da370de9904e00f48e59e92f8bff29d5fe6a3ff2'/>
<id>da370de9904e00f48e59e92f8bff29d5fe6a3ff2</id>
<content type='text'>
When changing binary, sending a SIGTERM to the new binary's master process
should not remove inherited UNIX sockets unless the old binary's master
process has exited.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When changing binary, sending a SIGTERM to the new binary's master process
should not remove inherited UNIX sockets unless the old binary's master
process has exited.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: free shared memory on cycle initialization failure.</title>
<updated>2018-11-15T12:28:54+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2018-11-15T12:28:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=841c899a9e376b1ec4147e9aa4afba10a8269abc'/>
<id>841c899a9e376b1ec4147e9aa4afba10a8269abc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed off-by-one error in shared zone initialization.</title>
<updated>2018-10-02T10:32:52+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2018-10-02T10:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=df0dfa634d54904ea9e0714547547131a6b2da10'/>
<id>df0dfa634d54904ea9e0714547547131a6b2da10</id>
<content type='text'>
On systems without atomic ops, not enough space was allocated
for mutex's file name during shared zone initialization.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On systems without atomic ops, not enough space was allocated
for mutex's file name during shared zone initialization.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: free shared memory zones only after reconfiguration.</title>
<updated>2017-10-17T16:52:16+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2017-10-17T16:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9cb9ce78b1d81ccdbcd123ccc3dab295b836a174'/>
<id>9cb9ce78b1d81ccdbcd123ccc3dab295b836a174</id>
<content type='text'>
This is what usually happens for zones no longer used in the new
configuration, but zones where size or tag were changed were freed
when creating new memory zones.  If reconfiguration failed (for
example, due to a conflicting listening socket), this resulted in a
segmentation fault in the master process.

Reported by Zhihua Cao,
http://mailman.nginx.org/pipermail/nginx-devel/2017-October/010536.html.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is what usually happens for zones no longer used in the new
configuration, but zones where size or tag were changed were freed
when creating new memory zones.  If reconfiguration failed (for
example, due to a conflicting listening socket), this resulted in a
segmentation fault in the master process.

Reported by Zhihua Cao,
http://mailman.nginx.org/pipermail/nginx-devel/2017-October/010536.html.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed excessive casts for ngx_file_info().</title>
<updated>2017-06-14T09:29:52+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-06-14T09:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=731d1fee8a64538882f4a7c0d2cce1137410cb15'/>
<id>731d1fee8a64538882f4a7c0d2cce1137410cb15</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use ngx_array_init() to initialize arrays.</title>
<updated>2017-03-28T08:28:42+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2017-03-28T08:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=65f0ad22faaa8e13d70e2c79be6d78723f85a14e'/>
<id>65f0ad22faaa8e13d70e2c79be6d78723f85a14e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
