<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/os, branch release-1.1.14</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Fixed AIO error handling on FreeBSD.</title>
<updated>2012-01-30T07:39:47+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-01-30T07:39:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b3e461e63c39875e63c40f9d620d1a4ece2a9134'/>
<id>b3e461e63c39875e63c40f9d620d1a4ece2a9134</id>
<content type='text'>
The aio_return() must be called regardless of the error returned by
aio_error().  Not calling it resulted in various problems up to segmentation
faults (as AIO events are level-triggered and were reported again and again).

Additionally, in "aio sendfile" case r-&gt;blocked was incremented in case of
error returned from ngx_file_aio_read(), thus causing request hangs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The aio_return() must be called regardless of the error returned by
aio_error().  Not calling it resulted in various problems up to segmentation
faults (as AIO events are level-triggered and were reported again and again).

Additionally, in "aio sendfile" case r-&gt;blocked was incremented in case of
error returned from ngx_file_aio_read(), thus causing request hangs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copyright updated.</title>
<updated>2012-01-18T15:07:43+00:00</updated>
<author>
<name>Maxim Konovalov</name>
<email>maxim@nginx.com</email>
</author>
<published>2012-01-18T15:07:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f8d59e33f34185c28d1d3c6625a897e214b7ca73'/>
<id>f8d59e33f34185c28d1d3c6625a897e214b7ca73</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed sched_setaffinity(2) to correctly pass size.</title>
<updated>2012-01-16T11:13:48+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2012-01-16T11:13:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b904676b5e687c8aeabcce297aa6250e07e63462'/>
<id>b904676b5e687c8aeabcce297aa6250e07e63462</id>
<content type='text'>
Second argument (cpusetsize) is size in bytes, not in bits.  Previously
used constant 32 resulted in reading of uninitialized memory and caused
EINVAL to be returned on some Linux kernels.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Second argument (cpusetsize) is size in bytes, not in bits.  Previously
used constant 32 resulted in reading of uninitialized memory and caused
EINVAL to be returned on some Linux kernels.
</pre>
</div>
</content>
</entry>
<entry>
<title>Microoptimization of sendfile(2) usage under FreeBSD.</title>
<updated>2011-12-11T16:30:42+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-12-11T16:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ae0e919135b7e1e80167d09b5bd2fef7903f7659'/>
<id>ae0e919135b7e1e80167d09b5bd2fef7903f7659</id>
<content type='text'>
FreeBSD kernel checks headers/trailers pointer against NULL, not
corresponding count.  Passing NULL if there are no headers/trailers
helps to avoid unneeded work in kernel, as well as unexpected 0 bytes
GIO in traces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FreeBSD kernel checks headers/trailers pointer against NULL, not
corresponding count.  Passing NULL if there are no headers/trailers
helps to avoid unneeded work in kernel, as well as unexpected 0 bytes
GIO in traces.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added (void) as we intentionally ignore returned values.</title>
<updated>2011-11-28T11:01:42+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-11-28T11:01:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=a4484b13694f00c4131c940e6b75690e424dfead'/>
<id>a4484b13694f00c4131c940e6b75690e424dfead</id>
<content type='text'>
Requested by Igor Sysoev.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Requested by Igor Sysoev.
</pre>
</div>
</content>
</entry>
<entry>
<title>Unlock of shared memory zones on process crash.</title>
<updated>2011-11-23T14:09:19+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-11-23T14:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=13717da19e52fb0b43b25ebfdb9bab1bc0a71ce4'/>
<id>13717da19e52fb0b43b25ebfdb9bab1bc0a71ce4</id>
<content type='text'>
If process exited abnormally while holding lock on some shared memory zone -
unlock it.  It may be not safe thing to do (as crash with lock held may
result in corrupted shared memory structure, and other processes will
subsequently crash while trying to access shared data), therefore complain
loudly if unlock succeeds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If process exited abnormally while holding lock on some shared memory zone -
unlock it.  It may be not safe thing to do (as crash with lock held may
result in corrupted shared memory structure, and other processes will
subsequently crash while trying to access shared data), therefore complain
loudly if unlock succeeds.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added shmtx interface to forcibly unlock mutexes.</title>
<updated>2011-11-23T13:55:38+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2011-11-23T13:55:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=91ecc8f43c42c677cd7b2230a68f19b64b649ba5'/>
<id>91ecc8f43c42c677cd7b2230a68f19b64b649ba5</id>
<content type='text'>
It is currently used from master process on abnormal worker termination to
unlock accept mutex (unlocking of accept mutex was broken in 1.0.2).  It is
expected to be used in the future to unlock other mutexes as well.

Shared mutex code was rewritten to make this possible in a safe way, i.e.
with a check if lock was actually held by the exited process.  We again use
pid to lock mutex, and use separate atomic variable for a count of processes
waiting in sem_wait().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is currently used from master process on abnormal worker termination to
unlock accept mutex (unlocking of accept mutex was broken in 1.0.2).  It is
expected to be used in the future to unlock other mutexes as well.

Shared mutex code was rewritten to make this possible in a safe way, i.e.
with a check if lock was actually held by the exited process.  We again use
pid to lock mutex, and use separate atomic variable for a count of processes
waiting in sem_wait().
</pre>
</div>
</content>
</entry>
<entry>
<title>FreeBSD 10-current has recently gotten POSIX_FADV_* macros.</title>
<updated>2011-11-18T18:42:00+00:00</updated>
<author>
<name>Maxim Konovalov</name>
<email>maxim@nginx.com</email>
</author>
<published>2011-11-18T18:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=f61b7b3a8322265de63ba5b3a3b8f8af8cbf3e00'/>
<id>f61b7b3a8322265de63ba5b3a3b8f8af8cbf3e00</id>
<content type='text'>
A fix for the broken build applied.

Patch from Igor Sysoev.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A fix for the broken build applied.

Patch from Igor Sysoev.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()</title>
<updated>2011-11-14T14:59:00+00:00</updated>
<author>
<name>Igor Sysoev</name>
<email>igor@sysoev.ru</email>
</author>
<published>2011-11-14T14:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=07bb4ed971e859ca26937558f9dcfe2a2178f5aa'/>
<id>07bb4ed971e859ca26937558f9dcfe2a2178f5aa</id>
<content type='text'>
for output of ./configure options, etc., since ngx_log_stderr() output
length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for output of ./configure options, etc., since ngx_log_stderr() output
length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed range checking for the "somaxconn" sysctl.</title>
<updated>2011-10-25T13:48:05+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2011-10-25T13:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=c5762451a91808c2561963a3d73b904767341307'/>
<id>c5762451a91808c2561963a3d73b904767341307</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
