<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/os, branch release-1.3.1</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Win32: disallowed access to various non-canonical name variants.</title>
<updated>2012-06-05T13:36:09+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-06-05T13:36:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=db80a7adfc1636ef146006b652c1892d42847ccd'/>
<id>db80a7adfc1636ef146006b652c1892d42847ccd</id>
<content type='text'>
This includes trailings dots and spaces, NTFS streams (and short names, as
previously checked).  The checks are now also done in ngx_file_info(), thus
allowing to use the "try_files" directive to protect external scripts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes trailings dots and spaces, NTFS streams (and short names, as
previously checked).  The checks are now also done in ngx_file_info(), thus
allowing to use the "try_files" directive to protect external scripts.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed compilation with -DNGX_DEBUG_MALLOC on FreeBSD 10.</title>
<updated>2012-05-23T15:07:01+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-05-23T15:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=e1133ca60e051c0fa9c7af3425b9d4b5c140f7d3'/>
<id>e1133ca60e051c0fa9c7af3425b9d4b5c140f7d3</id>
<content type='text'>
After jemalloc 3.0.0 import there is no _malloc_options symbol, it has
been replaced with the malloc_conf one with a different syntax.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After jemalloc 3.0.0 import there is no _malloc_options symbol, it has
been replaced with the malloc_conf one with a different syntax.
</pre>
</div>
</content>
</entry>
<entry>
<title>Accept moderation in case of EMFILE/ENFILE.</title>
<updated>2012-05-11T13:33:06+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-05-11T13:33:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0e3b423dc6c6653d600f4bf1687f0653be04a830'/>
<id>0e3b423dc6c6653d600f4bf1687f0653be04a830</id>
<content type='text'>
In case of EMFILE/ENFILE returned from accept() we disable accept events,
and (in case of no accept mutex used) arm timer to re-enable them later.
With accept mutex we just drop it, and rely on normal accept mutex handling
to re-enable accept events once it's acquired again.

As we now handle errors in question, logging level was changed to "crit"
(instead of "alert" used for unknown errors).

Note: the code might call ngx_enable_accept_events() multiple times if
there are many listen sockets.  The ngx_enable_accept_events() function was
modified to check if connection is already active (via c-&gt;read-&gt;active) and
skip it then, thus making multiple calls safe.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of EMFILE/ENFILE returned from accept() we disable accept events,
and (in case of no accept mutex used) arm timer to re-enable them later.
With accept mutex we just drop it, and rely on normal accept mutex handling
to re-enable accept events once it's acquired again.

As we now handle errors in question, logging level was changed to "crit"
(instead of "alert" used for unknown errors).

Note: the code might call ngx_enable_accept_events() multiple times if
there are many listen sockets.  The ngx_enable_accept_events() function was
modified to check if connection is already active (via c-&gt;read-&gt;active) and
skip it then, thus making multiple calls safe.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed ngx_readv_chain() to honor IOV_MAX (ticket #14).</title>
<updated>2012-04-17T09:13:58+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-04-17T09:13:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=0abb0bce5f297546f8f982677707fb33dadb96d8'/>
<id>0abb0bce5f297546f8f982677707fb33dadb96d8</id>
<content type='text'>
Not using full chain passed is ok as consumers are expected to check
event's ready flag to determine if another call is needed, not the
returned size.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not using full chain passed is ok as consumers are expected to check
event's ready flag to determine if another call is needed, not the
returned size.
</pre>
</div>
</content>
</entry>
<entry>
<title>IOV_MAX handling microoptimization.</title>
<updated>2012-04-17T09:13:15+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-04-17T09:13:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=578c02f3a1fda0ad43277af2af022c24f2e74104'/>
<id>578c02f3a1fda0ad43277af2af022c24f2e74104</id>
<content type='text'>
We now stop on IOV_MAX iovec entries only if we are going to add new one,
i.e. next buffer can't be coalesced into last iovec.

This also fixes incorrect checks for trailer creation on FreeBSD and
Mac OS X, header.nelts was checked instead of trailer.nelts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now stop on IOV_MAX iovec entries only if we are going to add new one,
i.e. next buffer can't be coalesced into last iovec.

This also fixes incorrect checks for trailer creation on FreeBSD and
Mac OS X, header.nelts was checked instead of trailer.nelts.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed loop in ngx_writev_chain() and ngx_solaris_sendfilev_chain().</title>
<updated>2012-04-17T09:10:50+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-04-17T09:10:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=96d73e291f77152d6494f7cb969ec0cd3bb74215'/>
<id>96d73e291f77152d6494f7cb969ec0cd3bb74215</id>
<content type='text'>
The "complete" flag wasn't cleared on loop iteration start, resulting in
broken behaviour if there were more than IOV_MAX buffers and first
iteration was fully completed (and hence the "complete" flag was set
to 1).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "complete" flag wasn't cleared on loop iteration start, resulting in
broken behaviour if there were more than IOV_MAX buffers and first
iteration was fully completed (and hence the "complete" flag was set
to 1).
</pre>
</div>
</content>
</entry>
<entry>
<title>Style: the function type should be on a line by itself</title>
<updated>2012-04-05T15:32:43+00:00</updated>
<author>
<name>Maxim Konovalov</name>
<email>maxim@nginx.com</email>
</author>
<published>2012-04-05T15:32:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=13d5d85861ce8e0fdeb8d10e386dd8a072c5778d'/>
<id>13d5d85861ce8e0fdeb8d10e386dd8a072c5778d</id>
<content type='text'>
preceding the function.  No functional changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
preceding the function.  No functional changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed spelling in multiline C comments.</title>
<updated>2012-04-03T07:37:31+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2012-04-03T07:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=47a04aaa275d1a9b4a51997910f2b2a881464943'/>
<id>47a04aaa275d1a9b4a51997910f2b2a881464943</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: improved ngx_mutex_init() stub (ticket #138).</title>
<updated>2012-04-02T21:31:45+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-04-02T21:31:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7744472c8e4db956bd29c030fdca1e55f5b007fe'/>
<id>7744472c8e4db956bd29c030fdca1e55f5b007fe</id>
<content type='text'>
This allows to run nginx with "master_process off" under Windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to run nginx with "master_process off" under Windows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: fixed memory allocation for shmem name (ticket #134).</title>
<updated>2012-04-02T21:30:58+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-04-02T21:30:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=9063bc87131f89e1a8b20f5ea507f4ed36018872'/>
<id>9063bc87131f89e1a8b20f5ea507f4ed36018872</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
