]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
file_utils: add fd_make_nonblocking helper
authorAlexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Fri, 21 Apr 2023 16:11:46 +0000 (18:11 +0200)
committerAlexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Fri, 21 Apr 2023 16:53:33 +0000 (18:53 +0200)
Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
src/lxc/file_utils.c
src/lxc/file_utils.h

index fed566565f8e562f36d9350a72ff6322674e8bd7..22b9f752c35ee468d6a746c93258b7935ab9dbc9 100644 (file)
@@ -700,6 +700,18 @@ int fd_make_blocking(int fd)
        return fcntl(fd, F_SETFL, flags);
 }
 
+int fd_make_nonblocking(int fd)
+{
+       int flags;
+
+       flags = fcntl(fd, F_GETFL);
+       if (flags < 0)
+               return -1;
+
+       flags |= O_NONBLOCK;
+       return fcntl(fd, F_SETFL, flags);
+}
+
 #define BATCH_SIZE 50
 static void batch_realloc(char **mem, size_t oldlen, size_t newlen)
 {
index a51c139b9c3d9918f35c4a3735a3c05775e1bc9a..61c847292147463c78c1b6d2c739cf7284bd56f5 100644 (file)
@@ -110,6 +110,7 @@ __hidden extern int open_at_same(int fd_same, int dfd, const char *path,
                                 unsigned int resolve_flags, mode_t mode);
 __hidden extern int open_beneath(int dfd, const char *path, unsigned int flags);
 __hidden int fd_make_blocking(int fd);
+__hidden int fd_make_nonblocking(int fd);
 __hidden extern char *read_file_at(int dfd, const char *fnam,
                                    unsigned int o_flags,
                                    unsigned resolve_flags);