Mercurial > hg > nginx
comparison src/os/unix/ngx_freebsd_config.h @ 7448:7f035fd1ec7b
Fixed portability issues with union sigval.
AIO support in nginx was originally developed against FreeBSD versions 4-6,
where the sival_ptr field was named as sigval_ptr (seemingly by mistake[1]),
which made nginx use the only name available then. The standard-complaint
name was restored in 2005 (first appeared in FreeBSD 7.0, 2008), retaining
compatibility with previous versions[2][3]. In DragonFly, similar changes
were committed in 2009[4], with backward compatibility recently removed[5].
The change switches to the standard name, retaining compatibility with old
FreeBSD versions.
[1] https://svnweb.freebsd.org/changeset/base/48621
[2] https://svnweb.freebsd.org/changeset/base/152029
[3] https://svnweb.freebsd.org/changeset/base/174003
[4] https://gitweb.dragonflybsd.org/dragonfly.git/commit/3693401
[5] https://gitweb.dragonflybsd.org/dragonfly.git/commit/7875042
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Mon, 28 Jan 2019 14:33:31 +0000 |
parents | 7142b04337d6 |
children | 93bbb9fbf30d |
comparison
equal
deleted
inserted
replaced
7447:f56a4c91b303 | 7448:7f035fd1ec7b |
---|---|
87 #include <sys/event.h> | 87 #include <sys/event.h> |
88 #endif | 88 #endif |
89 | 89 |
90 | 90 |
91 #if (NGX_HAVE_FILE_AIO) | 91 #if (NGX_HAVE_FILE_AIO) |
92 | |
92 #include <aio.h> | 93 #include <aio.h> |
93 typedef struct aiocb ngx_aiocb_t; | 94 typedef struct aiocb ngx_aiocb_t; |
95 | |
96 #if (__FreeBSD_version < 700005 && !defined __DragonFly__) | |
97 #define sival_ptr sigval_ptr | |
98 #endif | |
99 | |
94 #endif | 100 #endif |
95 | 101 |
96 | 102 |
97 #define NGX_LISTEN_BACKLOG -1 | 103 #define NGX_LISTEN_BACKLOG -1 |
98 | 104 |