<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unit.git/auto, branch 1.28.0</title>
<subtitle>Universal Web Application Server</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/'/>
<entry>
<title>Implemented basic statistics API.</title>
<updated>2022-08-29T06:27:09+00:00</updated>
<author>
<name>Valentin Bartenev</name>
<email>vbart@nginx.com</email>
</author>
<published>2022-08-29T06:27:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=ce26dd729e6842c9ec8cc83bf091167e4c50a1ec'/>
<id>ce26dd729e6842c9ec8cc83bf091167e4c50a1ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed dead code.</title>
<updated>2022-08-11T16:43:12+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-08-03T12:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=22c510066686d4f5c8cecfeb54c0b958b5f5bb3f'/>
<id>22c510066686d4f5c8cecfeb54c0b958b5f5bb3f</id>
<content type='text'>
nxt_sockaddr_ntop() stopped being used in commit (git) 029942f4eb71.
It has been replaced mostly by nxt_sockaddr_text().

    commit 029942f4eb7196c2cff0d0e26bc6ff274138f7d8
    Author: Igor Sysoev &lt;igor@sysoev.ru&gt;
    Date:   Wed Feb 22 15:09:59 2017 +0300

        I/O operations refactoring.

nxt_job_sockaddr_parse() stopped being used in commit (git) 794248090a74.

    commit 794248090a74f31cbfcf24ea8c835df2d4d21073
    Author: Igor Sysoev &lt;igor@sysoev.ru&gt;
    Date:   Wed Mar 4 14:04:08 2020 +0300

        Legacy upstream code removed.

Also, remove functions and types used only by those two functions:

nxt_job_sockaddr_unix_parse()
nxt_job_sockaddr_inet6_parse()
nxt_job_sockaddr_inet_parse()
nxt_job_sockaddr_parse_t
nxt_job_resolve()
nxt_job_resolve_t
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nxt_sockaddr_ntop() stopped being used in commit (git) 029942f4eb71.
It has been replaced mostly by nxt_sockaddr_text().

    commit 029942f4eb7196c2cff0d0e26bc6ff274138f7d8
    Author: Igor Sysoev &lt;igor@sysoev.ru&gt;
    Date:   Wed Feb 22 15:09:59 2017 +0300

        I/O operations refactoring.

nxt_job_sockaddr_parse() stopped being used in commit (git) 794248090a74.

    commit 794248090a74f31cbfcf24ea8c835df2d4d21073
    Author: Igor Sysoev &lt;igor@sysoev.ru&gt;
    Date:   Wed Mar 4 14:04:08 2020 +0300

        Legacy upstream code removed.

Also, remove functions and types used only by those two functions:

nxt_job_sockaddr_unix_parse()
nxt_job_sockaddr_inet6_parse()
nxt_job_sockaddr_inet_parse()
nxt_job_sockaddr_parse_t
nxt_job_resolve()
nxt_job_resolve_t
</pre>
</div>
</content>
</entry>
<entry>
<title>Rejecting non-Linux pivot_root(2).</title>
<updated>2022-08-02T17:50:10+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-08-02T17:39:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=418bc208d08dbc4a0a3511e503c946ab6ac71c39'/>
<id>418bc208d08dbc4a0a3511e503c946ab6ac71c39</id>
<content type='text'>
Some non-Linux systems implement pivot_root(2), even if they
don't document that.  An example is MacOS:

$ grepc pivot_root / 2&gt;/dev/null
.../sys/sysproto.h:3012:
int pivot_root(struct proc *, struct pivot_root_args *, int *);

Since the prototype of the syscall differs from that of Linux, we
can't use that syscall.  Let's make sure the test only detects
pivot_root(2) under Linux.  Also, rename the feature macro to make
clear that it's only about Linux's pivot_root(2).

This closes #737 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some non-Linux systems implement pivot_root(2), even if they
don't document that.  An example is MacOS:

$ grepc pivot_root / 2&gt;/dev/null
.../sys/sysproto.h:3012:
int pivot_root(struct proc *, struct pivot_root_args *, int *);

Since the prototype of the syscall differs from that of Linux, we
can't use that syscall.  Let's make sure the test only detects
pivot_root(2) under Linux.  Also, rename the feature macro to make
clear that it's only about Linux's pivot_root(2).

This closes #737 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Including &lt;mntent.h&gt; iff it exists.</title>
<updated>2022-08-02T11:58:01+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-06-19T10:48:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=2c0888f69c247c82fc02ba207aa19fa00acf4b5e'/>
<id>2c0888f69c247c82fc02ba207aa19fa00acf4b5e</id>
<content type='text'>
With NXT_HAVE_PIVOT_ROOT, we had issues in MacOS.  Headers should
normally be included unconditionally, except of course if they
don't exist.

This fixes part of the #737 issue on GitHub.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With NXT_HAVE_PIVOT_ROOT, we had issues in MacOS.  Headers should
normally be included unconditionally, except of course if they
don't exist.

This fixes part of the #737 issue on GitHub.
</pre>
</div>
</content>
</entry>
<entry>
<title>Log: split access log from nxt_router.c.</title>
<updated>2022-07-14T03:14:20+00:00</updated>
<author>
<name>Zhidao HONG</name>
<email>z.hong@f5.com</email>
</author>
<published>2022-07-14T03:14:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=8761501b4845656a0f2e5c0e7bf98f948c45fb5f'/>
<id>8761501b4845656a0f2e5c0e7bf98f948c45fb5f</id>
<content type='text'>
No functional changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No functional changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replaced Linux syscall macros by libc macros.</title>
<updated>2022-07-18T17:09:30+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-06-18T13:59:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=5015b05fc495bf3e87f8decfd1617a4a399939d4'/>
<id>5015b05fc495bf3e87f8decfd1617a4a399939d4</id>
<content type='text'>
User-space programs should use the SYS_*form, as documented in
syscall(2).  That also adds compatibility to non-Linux systems.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
User-space programs should use the SYS_*form, as documented in
syscall(2).  That also adds compatibility to non-Linux systems.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unnecessary include.</title>
<updated>2022-07-18T17:09:30+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-06-19T14:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=0d15cbd5b6136d8a92a23895bd83eb322aa633ea'/>
<id>0d15cbd5b6136d8a92a23895bd83eb322aa633ea</id>
<content type='text'>
Some OSes, as Linux, provide FIONBIO in &lt;sys/ioctl.h&gt;.  Others,
such as the BSDs and Illumos, provide it in &lt;sys/filio.h&gt;, but
they all include that header from &lt;sys/ioctl.h&gt;, so for this test,
we can simplify and just include &lt;sys/ioctl.h&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some OSes, as Linux, provide FIONBIO in &lt;sys/ioctl.h&gt;.  Others,
such as the BSDs and Illumos, provide it in &lt;sys/filio.h&gt;, but
they all include that header from &lt;sys/ioctl.h&gt;, so for this test,
we can simplify and just include &lt;sys/ioctl.h&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed code used when NXT_HAVE_POSIX_SPAWN is false.</title>
<updated>2022-07-18T17:09:30+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-06-19T12:20:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=c8d9106a0d3217c385f6afe572d904d9d77b8c8b'/>
<id>c8d9106a0d3217c385f6afe572d904d9d77b8c8b</id>
<content type='text'>
posix_spawn(3POSIX) was introduced by POSIX.1d
(IEEE Std 1003.1d-1999), and was later consolidated in
POSIX.1-2001, requiring it in all POSIX-compliant systems.
It's safe to assume it's always available, more than 20 years
after its standardization.

Link: &lt;https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/spawn.h.html&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
posix_spawn(3POSIX) was introduced by POSIX.1d
(IEEE Std 1003.1d-1999), and was later consolidated in
POSIX.1-2001, requiring it in all POSIX-compliant systems.
It's safe to assume it's always available, more than 20 years
after its standardization.

Link: &lt;https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/spawn.h.html&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Workarounded Clang bug triggered by Ruby.</title>
<updated>2022-04-28T18:02:30+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-03-10T20:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=60a584cfab19d6c671b4aeebf32d0b36a4bc1b77'/>
<id>60a584cfab19d6c671b4aeebf32d0b36a4bc1b77</id>
<content type='text'>
Add -fdeclspec to NXT_RUBY_CFLAGS for Clang, if it's available.

Clang incorrectly reports 1 for __has_declspec_attribute(x) in
some cases, such as MacOS or Cygwin.  That causes ruby code to
break.  ruby added -fdeclspec to their CFLAGS in 2019 to
workaround this bug, since it enables __declspec() and therefore,
the compiler behavior matches what it reports.

Since we don't know what are all the architectures that trigger
the clang bug, let's add the flag for all of them (especially
since it should be harmless).

Add this workaround only at the time of configuring the ruby
module.  This way we don't clutter the global NXT_CFLAGS with an
unnecessary flag.

Link: unit bug &lt;https://github.com/nginx/unit/issues/653&gt;
Link: ruby bug &lt;https://bugs.ruby-lang.org/issues/18616&gt;
Link: LLVM bug &lt;https://github.com/llvm/llvm-project/issues/49958&gt;
Commit: LLVM: Add -fdeclspec &lt;d170c4b57a91adc74ca89c6d4af616a00323b12c&gt;
Commit: ruby: Use -fdeclspec &lt;0958e19ffb047781fe1506760c7cbd8d7fe74e57&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add -fdeclspec to NXT_RUBY_CFLAGS for Clang, if it's available.

Clang incorrectly reports 1 for __has_declspec_attribute(x) in
some cases, such as MacOS or Cygwin.  That causes ruby code to
break.  ruby added -fdeclspec to their CFLAGS in 2019 to
workaround this bug, since it enables __declspec() and therefore,
the compiler behavior matches what it reports.

Since we don't know what are all the architectures that trigger
the clang bug, let's add the flag for all of them (especially
since it should be harmless).

Add this workaround only at the time of configuring the ruby
module.  This way we don't clutter the global NXT_CFLAGS with an
unnecessary flag.

Link: unit bug &lt;https://github.com/nginx/unit/issues/653&gt;
Link: ruby bug &lt;https://bugs.ruby-lang.org/issues/18616&gt;
Link: LLVM bug &lt;https://github.com/llvm/llvm-project/issues/49958&gt;
Commit: LLVM: Add -fdeclspec &lt;d170c4b57a91adc74ca89c6d4af616a00323b12c&gt;
Commit: ruby: Use -fdeclspec &lt;0958e19ffb047781fe1506760c7cbd8d7fe74e57&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Added NXT_MAYBE_UNUSED for __attribute__((__unused__)).</title>
<updated>2022-04-26T23:14:22+00:00</updated>
<author>
<name>Alejandro Colomar</name>
<email>alx.manpages@gmail.com</email>
</author>
<published>2022-03-11T00:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/unit.git/commit/?id=0b79735b503cc0a35062799a8ac45f169f0af0f7'/>
<id>0b79735b503cc0a35062799a8ac45f169f0af0f7</id>
<content type='text'>
When testing some configurations of compilers and OSes, I noticed
that clang(1) 13 on Debian caused a function to be compiled but
unused, and the compiler triggered a compile error.

To avoid that error, use __attribute__((__unused__)).  Let's call
our wrapper NXT_MAYBE_UNUSED, since it describes itself more
precisely than the GCC attribute name.  It's also the name that
C2x (likely C23) has given to the standard attribute, which is
[[maybe_unused]], so it's also likely to be more readable because
of that name being in ISO C.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When testing some configurations of compilers and OSes, I noticed
that clang(1) 13 on Debian caused a function to be compiled but
unused, and the compiler triggered a compile error.

To avoid that error, use __attribute__((__unused__)).  Let's call
our wrapper NXT_MAYBE_UNUSED, since it describes itself more
precisely than the GCC attribute name.  It's also the name that
C2x (likely C23) has given to the standard attribute, which is
[[maybe_unused]], so it's also likely to be more readable because
of that name being in ISO C.
</pre>
</div>
</content>
</entry>
</feed>
