[vlc-devel] [PATCH] linux: vlc_memfd: handle EOPNOTSUPP errno
Thomas Guillem
thomas at gllm.fr
Thu Jun 13 13:48:14 CEST 2019
>From man open(2):
EOPNOTSUPP: The filesystem containing pathname does not support O_TMPFILE.
---
src/linux/filesystem.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/linux/filesystem.c b/src/linux/filesystem.c
index caa97fbf3f..3712f4ba06 100644
--- a/src/linux/filesystem.c
+++ b/src/linux/filesystem.c
@@ -45,10 +45,11 @@ int vlc_memfd(void)
/* Fallback to open with O_TMPFILE, */
fd = open("/tmp", O_RDWR | O_CLOEXEC | O_TMPFILE, S_IRUSR | S_IWUSR);
- if (fd != -1 || (errno != EISDIR && errno != ENOENT))
+ if (fd != -1 || (errno != EISDIR && errno != ENOENT && errno != EOPNOTSUPP))
return fd;
- /* Fallback to POSIX implementation if O_TMPFILE is not supported */
+ /* Fallback to POSIX implementation if O_TMPFILE is not supported (errno is
+ * EISDIR, ENOENT, or EOPNOTSUPP, cf. man open(2). */
char bufpath[] = "/tmp/"PACKAGE_NAME"XXXXXX";
fd = vlc_mkstemp(bufpath);
if (fd != -1)
--
2.20.1
More information about the vlc-devel
mailing list