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