<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git, branch 1.17.0</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Generated Dockerfiles for Unit 1.17.0.</title>
<updated>2020-04-16T14:49:09+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-04-16T14:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=4d62989f5c2329bb4a6174e4b7fb4ab6d8d9ec9f'/>
<id>4d62989f5c2329bb4a6174e4b7fb4ab6d8d9ec9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added version 1.17.0 CHANGES.</title>
<updated>2020-04-16T14:49:09+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-04-16T14:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e377820b6cc482bae6c4288e9020606572cd92a8'/>
<id>e377820b6cc482bae6c4288e9020606572cd92a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Using malloc/free for the http fields hash.</title>
<updated>2020-04-16T14:09:23+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-04-16T14:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=6bda9b5eeb2b6c99c54f5b314b8eb96d72af3542'/>
<id>6bda9b5eeb2b6c99c54f5b314b8eb96d72af3542</id>
<content type='text'>
This is required due to lack of a graceful shutdown: there is a small gap
between the runtime's memory pool release and router process's exit. Thus, a
worker thread may start processing a request between these two operations,
which may result in an http fields hash access and subsequent crash.

To simplify issue reproduction, it makes sense to add a 2 sec sleep before
exit() in nxt_runtime_exit().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required due to lack of a graceful shutdown: there is a small gap
between the runtime's memory pool release and router process's exit. Thus, a
worker thread may start processing a request between these two operations,
which may result in an http fields hash access and subsequent crash.

To simplify issue reproduction, it makes sense to add a 2 sec sleep before
exit() in nxt_runtime_exit().
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed memory leak occurring upon failure to accept a connection.</title>
<updated>2020-04-15T12:10:14+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2020-04-15T12:10:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ee62736a11acc4b699102a1260c6a8c5f57c1fef'/>
<id>ee62736a11acc4b699102a1260c6a8c5f57c1fef</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed crash that occurs when idle connections are closed forcibly.</title>
<updated>2020-04-15T11:54:09+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2020-04-15T11:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=04143c8c7ee59d24aa1d6df0377e7900e96e3f72'/>
<id>04143c8c7ee59d24aa1d6df0377e7900e96e3f72</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disabled epoll error processing when socket events are inactive.</title>
<updated>2020-04-15T11:54:09+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2020-04-15T11:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e616d0915c513323affd938f7eb89d23d4e70df5'/>
<id>e616d0915c513323affd938f7eb89d23d4e70df5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Completing chained shared memory buffers.</title>
<updated>2020-04-14T13:11:13+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-04-14T13:11:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9a422b8984a3ed462a2c35ba97fa8234f3a45591'/>
<id>9a422b8984a3ed462a2c35ba97fa8234f3a45591</id>
<content type='text'>
After 41331471eee7 completion handlers should complete next buffer in chain.
Otherwise buffer memory may leak.

Thanks to Peter Tkatchenko for reporing the issue and testing fixes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After 41331471eee7 completion handlers should complete next buffer in chain.
Otherwise buffer memory may leak.

Thanks to Peter Tkatchenko for reporing the issue and testing fixes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: added test with rescheduling requests.</title>
<updated>2020-04-14T02:02:16+00:00</updated>
<author>
<name>Andrei Zeliankou</name>
<email>zelenkov@nginx.com</email>
</author>
<published>2020-04-14T02:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=3c58a4bfc11d2d73fc72d1dbaeda4494d00508b8'/>
<id>3c58a4bfc11d2d73fc72d1dbaeda4494d00508b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: minor fixes and style.</title>
<updated>2020-04-14T01:35:04+00:00</updated>
<author>
<name>Andrei Zeliankou</name>
<email>zelenkov@nginx.com</email>
</author>
<published>2020-04-14T01:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=0bfa09dfa0ec6a1474ba30d0e1f8aea832fbc1fc'/>
<id>0bfa09dfa0ec6a1474ba30d0e1f8aea832fbc1fc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resolving a racing condition while adding ports on the app's side.</title>
<updated>2020-04-10T13:21:58+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-04-10T13:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=58cc13ab291cac5b13462006e3feb780178ef5f3'/>
<id>58cc13ab291cac5b13462006e3feb780178ef5f3</id>
<content type='text'>
An earlier attempt (ad6265786871) to resolve this condition on the
router's side added a new issue: the app could get a request before
acquiring a port.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An earlier attempt (ad6265786871) to resolve this condition on the
router's side added a new issue: the app could get a request before
acquiring a port.
</pre>
</div>
</content>
</entry>
</feed>
