[vlc-devel] [PATCH] linux: vlc_memfd: handle EOPNOTSUPP errno
Rémi Denis-Courmont
remi at remlab.net
Thu Jun 13 14:41:18 CEST 2019
ENOENT is checked because /tmp might not exist, not because of O_TMPFILE
Le 13 juin 2019 19:48:14 GMT+08:00, Thomas Guillem <thomas at gllm.fr> a écrit :
>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
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190613/386188d8/attachment.html>
More information about the vlc-devel
mailing list