<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git, branch 1.4</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.4.</title>
<updated>2018-09-20T15:19:14+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2018-09-20T15:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=80217caa52e666a05bd98c088437edd49d9f0983'/>
<id>80217caa52e666a05bd98c088437edd49d9f0983</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.4 CHANGES.</title>
<updated>2018-09-20T15:18:52+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2018-09-20T15:18:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=63ff7a341a6bba5dab3d5c1786f942b2282f13eb'/>
<id>63ff7a341a6bba5dab3d5c1786f942b2282f13eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resetting init-&gt;stream for ready process.</title>
<updated>2018-09-20T14:30:56+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-09-20T14:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=58c38298f53e684e2b5a45e5f7cf053f142ba384'/>
<id>58c38298f53e684e2b5a45e5f7cf053f142ba384</id>
<content type='text'>
Router requests application start by sending port message with application
parameters to master.  In response router gets application port.  Stream id
used to link request and response.  If application process terminates
unexpectedly (e.g. before ready state), it is required to notify router about
application start failure.  For this purpose stream id is stored in process
initialization parameters.

Stream id sequentially incremented and starts from 1 in case of router
resurrection.  New router application start stream id may coincide with
stream id of currently running/terminating application processes.  In such
cases router may receive REMOVE_PID message with same stream id as used in
application start request and mistakenly reports application start failure.

This commit tries to avoid such errors by resetting stream for processes in
ready state.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Router requests application start by sending port message with application
parameters to master.  In response router gets application port.  Stream id
used to link request and response.  If application process terminates
unexpectedly (e.g. before ready state), it is required to notify router about
application start failure.  For this purpose stream id is stored in process
initialization parameters.

Stream id sequentially incremented and starts from 1 in case of router
resurrection.  New router application start stream id may coincide with
stream id of currently running/terminating application processes.  In such
cases router may receive REMOVE_PID message with same stream id as used in
application start request and mistakenly reports application start failure.

This commit tries to avoid such errors by resetting stream for processes in
ready state.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tests: TLS tests.</title>
<updated>2018-09-20T13:34:34+00:00</updated>
<author>
<name>Andrey Zelenkov</name>
<email>zelenkov@nginx.com</email>
</author>
<published>2018-09-20T13:34:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=d0e428aace21c7b3462afacde6955fb1017596db'/>
<id>d0e428aace21c7b3462afacde6955fb1017596db</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed building perl on Alpine Linux.</title>
<updated>2018-09-20T13:34:19+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2018-09-20T13:34:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=e4650b741291cce8269e9ee10484c79be101edcd'/>
<id>e4650b741291cce8269e9ee10484c79be101edcd</id>
<content type='text'>
_GNU_SOURCE is required there to expose off64_t and other types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_GNU_SOURCE is required there to expose off64_t and other types.
</pre>
</div>
</content>
</entry>
<entry>
<title>Preventing port from release in asynchronous operations.</title>
<updated>2018-09-20T13:16:32+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-09-20T13:16:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9fe6e75d355266024f67a5611120c3c97557be14'/>
<id>9fe6e75d355266024f67a5611120c3c97557be14</id>
<content type='text'>
Router reconfiguration may lead to starting new application processes, opening
listen ports etc.  These actions are asynchronous and require message
exchange with master process.  Router stores reference for controller
(response) port in structure associated with reconfiguration process (tmcf).
The port used to provide reconfiguration response (either success or failed)
to controller.

This commit increases response port use counter to make sure port structure
not freed while router waits for result of asynchronous operations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Router reconfiguration may lead to starting new application processes, opening
listen ports etc.  These actions are asynchronous and require message
exchange with master process.  Router stores reference for controller
(response) port in structure associated with reconfiguration process (tmcf).
The port used to provide reconfiguration response (either success or failed)
to controller.

This commit increases response port use counter to make sure port structure
not freed while router waits for result of asynchronous operations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Packages: enabled OpenSSL support.</title>
<updated>2018-09-20T13:14:29+00:00</updated>
<author>
<name>Andrei Belov</name>
<email>defan@nginx.com</email>
</author>
<published>2018-09-20T13:14:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=fea05e30653a4c660d538cc6915494d7145ad969'/>
<id>fea05e30653a4c660d538cc6915494d7145ad969</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python: adjusted input.read(size) argument value interpretation.</title>
<updated>2018-09-20T13:04:49+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2018-09-20T13:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=510c2e15c5b55a48f15f0ba680c5e82a2db5456f'/>
<id>510c2e15c5b55a48f15f0ba680c5e82a2db5456f</id>
<content type='text'>
Previously, passing 0 resulted in reading the whole body and all negative
values raised an exception.

Now the behaviour is in consistentance with io.RawIOBase.read() interface,
and passing 0 returns empty (byte) string, while -1 results in reading the
whole body.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, passing 0 resulted in reading the whole body and all negative
values raised an exception.

Now the behaviour is in consistentance with io.RawIOBase.read() interface,
and passing 0 returns empty (byte) string, while -1 results in reading the
whole body.
</pre>
</div>
</content>
</entry>
<entry>
<title>Preserving inherited engine memory pool in controller process.</title>
<updated>2018-09-20T12:50:48+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2018-09-20T12:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=9f29ac9f3e85b34317ab68ae297dabc6c6ffa6ae'/>
<id>9f29ac9f3e85b34317ab68ae297dabc6c6ffa6ae</id>
<content type='text'>
The pool is inherited from master process since changeset 854a1a440616.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The pool is inherited from master process since changeset 854a1a440616.
</pre>
</div>
</content>
</entry>
<entry>
<title>Controller: addressing of array elements in requests.</title>
<updated>2018-09-20T12:27:14+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2018-09-20T12:27:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=a2eca97e89f4898ca3f3287038e3757f4f778161'/>
<id>a2eca97e89f4898ca3f3287038e3757f4f778161</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
