aio/unix: Use signal.sival which is standard

Sepherosa Ziehau sepherosa at gmail.com
Mon Jan 28 09:06:35 UTC 2019


Hi,

Thank you for the information!

Thanks,
sephe

On Thu, Jan 24, 2019 at 10:59 PM Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> Hello!
>
> On Thu, Jan 24, 2019 at 10:07:57AM +0800, Sepherosa Ziehau wrote:
>
> > On Tue, Jan 22, 2019 at 10:54 PM Maxim Dounin <mdounin at mdounin.ru> wrote:
> > > This needs to be extended with some background information -
> > > notably why it used to be sigval_ptr, and why to switch to
> > > sival_ptr.
> >
> > I am not sure why it used to be sigval_ptr; seems to be a miss name in
> > FreeBSD. And the code seems to assume having KQUEUE == having sigval_ptr.
> >
> > As about why the switching:
> > - It's POSIX standard.
> > - It was noticed recently in DragonFly, since we removed this compat
> > field (sigval_ptr), since after scanning the source code in ports
> > system, nginx seems to be the only one using sigval_ptr.
>
> Yes, Sergey have details on hand.  It was renamed (likely by
> accident) in 1999 (FreeBSD 4.0) when introducing SA_SIGINFO
> support[1].  Standard-complaint name was restored in 2005 (first
> released in FreeBSD 7.0 in 2008), retaining compatibility with
> previous versions[2][3].  Similar changes were committed in
> DragonFly in 2009[4].
>
> Since initial AIO support in nginx was introduced in 2003[5], it
> used the only name available at the moment.
>
> Switching to a standard name now is fine, especially giving that
> we can easily retain compatibility with previous versions.
>
> But at least some of these details need to be preserved in the
> commit log, and that's what I was asking Sergey about.
>
> [1] https://github.com/freebsd/freebsd/commit/53573bf465904188986e8c982e8019835628d6b2
> [2] https://github.com/freebsd/freebsd/commit/ae161ac2394e00bb3afca0667a13243d7963dfe2
> [3] https://github.com/freebsd/freebsd/commit/54f35995c2ce65f23beb667de4ccf3d68139a81a
> [4] https://gitweb.dragonflybsd.org/dragonfly.git/commit/36934016eeaca3abd418acb1c68bd391d3b54aa7
> [5] http://hg.nginx.org/nginx/rev/738fe44c70d5
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel



-- 
Tomorrow Will Never Die


More information about the nginx-devel mailing list