mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 09:42:39 +08:00
Added openat()/fstatat().
This commit is contained in:
parent
9f38b20db5
commit
71205c3fbc
14
auto/unix
14
auto/unix
@ -731,3 +731,17 @@ ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="sysconf(_SC_NPROCESSORS_ONLN)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="openat(), fstatat()"
|
||||
ngx_feature_name="NGX_HAVE_OPENAT"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct stat sb;
|
||||
openat(AT_FDCWD, \".\", O_RDONLY|O_NOFOLLOW);
|
||||
fstatat(AT_FDCWD, \".\", &sb, AT_SYMLINK_NOFOLLOW);"
|
||||
. auto/feature
|
||||
|
@ -48,6 +48,11 @@ typedef int ngx_err_t;
|
||||
#define NGX_EILSEQ EILSEQ
|
||||
#define NGX_ENOMOREFILES 0
|
||||
|
||||
#if (NGX_HAVE_OPENAT)
|
||||
#define NGX_EMLINK EMLINK
|
||||
#define NGX_ELOOP ELOOP
|
||||
#endif
|
||||
|
||||
#if (__hpux__)
|
||||
#define NGX_EAGAIN EWOULDBLOCK
|
||||
#else
|
||||
|
@ -76,6 +76,10 @@ typedef struct {
|
||||
#define NGX_FILE_APPEND O_WRONLY|O_APPEND
|
||||
#define NGX_FILE_NONBLOCK O_NONBLOCK
|
||||
|
||||
#if (NGX_HAVE_OPENAT)
|
||||
#define NGX_FILE_NOFOLLOW O_NOFOLLOW
|
||||
#endif
|
||||
|
||||
#define NGX_FILE_DEFAULT_ACCESS 0644
|
||||
#define NGX_FILE_OWNER_ACCESS 0600
|
||||
|
||||
@ -324,6 +328,21 @@ ngx_int_t ngx_directio_off(ngx_fd_t fd);
|
||||
size_t ngx_fs_bsize(u_char *name);
|
||||
|
||||
|
||||
#if (NGX_HAVE_OPENAT)
|
||||
|
||||
#define ngx_openat_file(fd, name, mode, create, access) \
|
||||
openat(fd, (const char *) name, mode|create, access)
|
||||
|
||||
#define ngx_openat_file_n "openat()"
|
||||
|
||||
#define ngx_file_at_info(fd, name, sb, flag) \
|
||||
fstatat(fd, (const char *) name, sb, flag)
|
||||
|
||||
#define ngx_file_at_info_n "fstatat()"
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define ngx_stderr STDERR_FILENO
|
||||
#define ngx_set_stderr(fd) dup2(fd, STDERR_FILENO)
|
||||
#define ngx_set_stderr_n "dup2(STDERR_FILENO)"
|
||||
|
Loading…
Reference in New Issue
Block a user