<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/auto/modules, branch 1.16.0</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>PHP: added ZTS indication to ./configure output.</title>
<updated>2020-03-04T12:24:27+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-03-04T12:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=afa2f86ecf3ff99b598b14b3448c056b914cd32a'/>
<id>afa2f86ecf3ff99b598b14b3448c056b914cd32a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: rearranged feature checks in ./configure.</title>
<updated>2020-03-04T12:24:27+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2020-03-04T12:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=75cb2a947d7194c9ef69f9e1b9dedaae2cf1905f'/>
<id>75cb2a947d7194c9ef69f9e1b9dedaae2cf1905f</id>
<content type='text'>
Now it prints version even if PHP was built without embed SAPI.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now it prints version even if PHP was built without embed SAPI.
</pre>
</div>
</content>
</entry>
<entry>
<title>PHP: optimization to avoid surplus chdir(2) calls.</title>
<updated>2020-03-03T14:38:08+00:00</updated>
<author>
<name>Tiago Natel de Moura</name>
<email>t.nateldemoura@f5.com</email>
</author>
<published>2020-03-03T14:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f99d20ad39a62cf30b6b0b01593336572484f4f5'/>
<id>f99d20ad39a62cf30b6b0b01593336572484f4f5</id>
<content type='text'>
For each request, the worker calls the php_execute_script function
from libphp that changes to the script directory before doing its
work and then restores the process directory before returning.  The
chdir(2) calls it performs are unnecessary in Unit design.  In simple
benchmarks, profiling shows that the chdir syscall code path (syscall,
FS walk, etc.) is where the CPU spends most of its time.

PHP SAPI semantics requires the script to be run from the script
directory.  In Unit's PHP implementation, we have two use cases:

- script
- arbitrary path

The "script" configuration doesn't have much need for a working
directory change: it can be changed once at module initialization.
The module needs to chdir again only if the user's PHP script also
calls chdir to switch to another directory during execution.

If "script" is not used in Unit configuration, we must ensure the
script is run from its directory (thus calling chdir before exec),
but there's no need to restore the working directory later.

Our implementation disables mandatory chdir calls with the SAPI
option SAPI_OPTION_NO_CHDIR, instead calling chdir only when needed.

To detect the user's calls to chdir, a simple "unit" extension is
added that hooks the built-in chdir() PHP call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For each request, the worker calls the php_execute_script function
from libphp that changes to the script directory before doing its
work and then restores the process directory before returning.  The
chdir(2) calls it performs are unnecessary in Unit design.  In simple
benchmarks, profiling shows that the chdir syscall code path (syscall,
FS walk, etc.) is where the CPU spends most of its time.

PHP SAPI semantics requires the script to be run from the script
directory.  In Unit's PHP implementation, we have two use cases:

- script
- arbitrary path

The "script" configuration doesn't have much need for a working
directory change: it can be changed once at module initialization.
The module needs to chdir again only if the user's PHP script also
calls chdir to switch to another directory during execution.

If "script" is not used in Unit configuration, we must ensure the
script is run from its directory (thus calling chdir before exec),
but there's no need to restore the working directory later.

Our implementation disables mandatory chdir calls with the SAPI
option SAPI_OPTION_NO_CHDIR, instead calling chdir only when needed.

To detect the user's calls to chdir, a simple "unit" extension is
added that hooks the built-in chdir() PHP call.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: adding main configure CFLAGS and LDFLAGS to module build flags.</title>
<updated>2020-01-28T16:20:46+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-01-28T16:20:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=4024b18bcc070240a5d1d79ff255b8209dd6908d'/>
<id>4024b18bcc070240a5d1d79ff255b8209dd6908d</id>
<content type='text'>
This makes ASAN buildbot workers to work out-of-the-box.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes ASAN buildbot workers to work out-of-the-box.
</pre>
</div>
</content>
</entry>
<entry>
<title>Java: fixing configure errors reporting.</title>
<updated>2020-01-28T14:03:19+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-01-28T14:03:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=4e0a2002fe6d952cfc7e3bda925fff6c2311b90c'/>
<id>4e0a2002fe6d952cfc7e3bda925fff6c2311b90c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Java: introducing SHA512 sum validation for external JARs.</title>
<updated>2020-01-28T14:02:51+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-01-28T14:02:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=1949be644cff80c7d9d45215a8042e657b8e1087'/>
<id>1949be644cff80c7d9d45215a8042e657b8e1087</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Java: fixing maven repository URL.</title>
<updated>2020-01-28T14:01:21+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2020-01-28T14:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=04bf6457c60ddba195f6ddfdb9b119ab34feb1d2'/>
<id>04bf6457c60ddba195f6ddfdb9b119ab34feb1d2</id>
<content type='text'>
It is required to use https scheme and different host to download
packages from maven repository.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is required to use https scheme and different host to download
packages from maven repository.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: changing import name for "unit.nginx.org/go".</title>
<updated>2019-12-25T17:00:32+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-12-25T17:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=693a458b4ea87b7b387bd9d094de2b42be7ecdbd'/>
<id>693a458b4ea87b7b387bd9d094de2b42be7ecdbd</id>
<content type='text'>
This patch includes packaging changes - update unit-go installation
directory.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch includes packaging changes - update unit-go installation
directory.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: moving source files to the root of the project.</title>
<updated>2019-12-24T14:59:52+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-12-24T14:59:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=f5a2984acf9a562b6b1eb45a21d9af2be2415659'/>
<id>f5a2984acf9a562b6b1eb45a21d9af2be2415659</id>
<content type='text'>
This patch includes packaging changes related to files move.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch includes packaging changes related to files move.
</pre>
</div>
</content>
</entry>
<entry>
<title>Go: installing go module for tests into build directory.</title>
<updated>2019-12-24T14:59:48+00:00</updated>
<author>
<name>Max Romanov</name>
<email>max.romanov@nginx.com</email>
</author>
<published>2019-12-24T14:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=a427ecd4c547958079cce2dae13060b2d60aa4d4'/>
<id>a427ecd4c547958079cce2dae13060b2d60aa4d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
