file_utils: add fd_make_nonblocking helper

Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
This commit is contained in:
Alexander Mikhalitsyn 2023-04-21 18:11:46 +02:00
parent 747c4df31a
commit 7eff16cc4c
No known key found for this signature in database
GPG Key ID: B1F47F5CB05B4FA3
2 changed files with 13 additions and 0 deletions

View 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)
{

View 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);