summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-04-18 11:29:02 +0200
committerSergei Golubchik <serg@mariadb.org>2017-04-20 16:36:22 +0200
commit036b689f187361848a315a192a83556256c0fe96 (patch)
tree71c6ec5cd52ae3bd36a795a0f17e2d1c7ccb725d /mysys
parent786363e89b834629410932afd3191af72b4001eb (diff)
downloadmariadb-git-036b689f187361848a315a192a83556256c0fe96.tar.gz
MDEV-12310 openat(<directory>, ...O_EXEC) fails on Illumos / Solaris
it could be * O_SEARCH on Illumos * O_EXEC on FreeBSD * O_PATH on Linux ugh
Diffstat (limited to 'mysys')
-rw-r--r--mysys/mysys_priv.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/mysys/mysys_priv.h b/mysys/mysys_priv.h
index 4b489504c26..661c4c184f1 100644
--- a/mysys/mysys_priv.h
+++ b/mysys/mysys_priv.h
@@ -89,9 +89,13 @@ void sf_free(void *ptr);
void my_error_unregister_all(void);
-#if !defined(O_PATH) && defined(O_EXEC) /* FreeBSD */
+#ifndef O_PATH /* not Linux */
+#if defined(O_SEARCH) /* Illumos */
+#define O_PATH O_SEARCH
+#elif defined(O_EXEC) /* FreeBSD */
#define O_PATH O_EXEC
#endif
+#endif
#ifdef O_PATH
#define HAVE_OPEN_PARENT_DIR_NOSYMLINKS