Mercurial > hg > nginx
view src/os/unix/ngx_darwin_config.h @ 9202:e88cdaa0f1ff
AIO operations now add timers (ticket #2162).
Each AIO (thread IO) operation being run is now accompanied with 1-minute
timer. This timer prevents unexpected shutdown of the worker process while
an AIO operation is running, and logs an alert if the operation is running
for too long.
This fixes "open socket left" alerts during worker processes shutdown
due to pending AIO (or thread IO) operations while corresponding requests
have no timers. In particular, such errors were observed while reading
cache headers (ticket #2162), and with worker_shutdown_timeout.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 29 Jan 2024 10:31:37 +0300 |
parents | 9fb994513776 |
children | 93bbb9fbf30d |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_DARWIN_CONFIG_H_INCLUDED_ #define _NGX_DARWIN_CONFIG_H_INCLUDED_ #define __APPLE_USE_RFC_3542 /* IPV6_PKTINFO */ #include <sys/types.h> #include <sys/time.h> #include <unistd.h> #include <inttypes.h> #include <stdarg.h> #include <stddef.h> /* offsetof() */ #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <errno.h> #include <string.h> #include <signal.h> #include <pwd.h> #include <grp.h> #include <dirent.h> #include <glob.h> #include <sys/mount.h> /* statfs() */ #include <sys/filio.h> /* FIONBIO */ #include <sys/ioctl.h> #include <sys/uio.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/wait.h> #include <sys/mman.h> #include <sys/resource.h> #include <sched.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/tcp.h> /* TCP_NODELAY */ #include <arpa/inet.h> #include <netdb.h> #include <sys/un.h> #include <sys/sysctl.h> #include <xlocale.h> #include <dlfcn.h> #ifndef IOV_MAX #define IOV_MAX 64 #endif #include <ngx_auto_config.h> #if (NGX_HAVE_POSIX_SEM) #include <semaphore.h> #endif #if (NGX_HAVE_POLL) #include <poll.h> #endif #if (NGX_HAVE_KQUEUE) #include <sys/event.h> #endif #define NGX_LISTEN_BACKLOG -1 #ifndef NGX_HAVE_INHERITED_NONBLOCK #define NGX_HAVE_INHERITED_NONBLOCK 1 #endif #ifndef NGX_HAVE_CASELESS_FILESYSTEM #define NGX_HAVE_CASELESS_FILESYSTEM 1 #endif #define NGX_HAVE_OS_SPECIFIC_INIT 1 #define NGX_HAVE_DEBUG_MALLOC 1 extern char **environ; #endif /* _NGX_DARWIN_CONFIG_H_INCLUDED_ */