Klaus Demo nginx / f153bce
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 Sergey Kandaurov 3 years ago
2 changed file(s) with 7 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
109109 #if (NGX_HAVE_KQUEUE)
110110 aio->aiocb.aio_sigevent.sigev_notify_kqueue = ngx_kqueue;
111111 aio->aiocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
112 aio->aiocb.aio_sigevent.sigev_value.sigval_ptr = ev;
112 aio->aiocb.aio_sigevent.sigev_value.sival_ptr = ev;
113113 #endif
114114 ev->handler = ngx_file_aio_event_handler;
115115
8888
8989
9090 #if (NGX_HAVE_FILE_AIO)
91
9192 #include <aio.h>
9293 typedef struct aiocb ngx_aiocb_t;
94
95 #if (__FreeBSD_version < 700005 && !defined __DragonFly__)
96 #define sival_ptr sigval_ptr
97 #endif
98
9399 #endif
94100
95101