diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2009-08-28 08:12:35 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2009-08-28 08:12:35 +0000 |
| commit | a962506498d3930bea4e34bc21d261613065f98f (patch) | |
| tree | f401951eaab82203accb72c8b2205b9d91f7ee07 /auto/os | |
| parent | 1163af9fae396700700824cca21309476cf5dd51 (diff) | |
| download | nginx-a962506498d3930bea4e34bc21d261613065f98f.tar.gz nginx-a962506498d3930bea4e34bc21d261613065f98f.tar.bz2 | |
FreeBSD and Linux AIO support
Diffstat (limited to 'auto/os')
| -rw-r--r-- | auto/os/features | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/auto/os/features b/auto/os/features index 140e26b89..72ad534c3 100644 --- a/auto/os/features +++ b/auto/os/features @@ -274,3 +274,43 @@ if [ $ngx_found != yes ]; then CORE_LIBS="$CORE_LIBS -lrt" fi fi + + +if [ $NGX_FILE_AIO = YES ]; then + ngx_feature="kqueue AIO support" + ngx_feature_name="NGX_HAVE_FILE_AIO" + ngx_feature_run=no + ngx_feature_incs="#include <aio.h>" + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test="int n; struct aiocb iocb; + iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT; + n = aio_read(&iocb)" + . auto/feature + + if [ $ngx_found = yes ]; then + CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS" + fi +fi + + +if [ $NGX_FILE_AIO = YES ]; then + ngx_feature="Linux AIO support" + ngx_feature_name="NGX_HAVE_FILE_AIO" + ngx_feature_run=no + ngx_feature_incs="#include <linux/aio_abi.h> + #include <sys/syscall.h>" + ngx_feature_path= + ngx_feature_libs= + ngx_feature_test="int n = SYS_eventfd; + struct iocb iocb; + iocb.aio_lio_opcode = IOCB_CMD_PREAD; + iocb.aio_flags = IOCB_FLAG_RESFD; + iocb.aio_resfd = -1;" + . auto/feature + + if [ $ngx_found = yes ]; then + have=NGX_HAVE_EVENTFD . auto/have + CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS" + fi +fi |
