From 10deba066e207eb142e7b61b1479c8af4016b247 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 20 Feb 2019 04:02:30 +0000 Subject: Try statx syscall git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- file.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'file.c') diff --git a/file.c b/file.c index c00c43e5d4..af0d44e9ba 100644 --- a/file.c +++ b/file.c @@ -1112,6 +1112,23 @@ stat_without_gvl(const char *path, struct stat *st) RUBY_UBF_IO, NULL); } +#if !defined HAVE_STATX && defined __linux__ +# ifdef HAVE_SYSCALL_H +# include +# elif defined HAVE_SYS_SYSCALL_H +# include +# endif +# if defined __NR_statx +# include +static int statx(int dirfd, const char *pathname, int flags, + unsigned int mask, struct statx *statxbuf) +{ + return syscall(__NR_statx, dirfd, pathname, flags, mask, statxbuf); +} +# define HAVE_STATX +# endif +#endif + #ifdef HAVE_STATX typedef struct no_gvl_statx_data { struct statx *stx; -- cgit v1.2.3