X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Flib%2Flibudev-util.c;h=b628fdd44c33a35eea72535b029838c19f0ee76d;hp=867a41d21120df2361c75bcfcf1ef5e6e96fdb4d;hb=4b09a2fc4383f191d96a8d6134b95a4b84aef931;hpb=52761bb0a99cb80ccb19c9edf23963fdad67060d diff --git a/udev/lib/libudev-util.c b/udev/lib/libudev-util.c index 867a41d21..b628fdd44 100644 --- a/udev/lib/libudev-util.c +++ b/udev/lib/libudev-util.c @@ -448,3 +448,15 @@ int udev_util_encode_string(const char *str, char *str_enc, size_t len) err: return -1; } + +void util_set_fd_cloexec(int fd) +{ + int flags; + + flags = fcntl(fd, F_GETFD); + if (flags < 0) + flags = FD_CLOEXEC; + else + flags |= FD_CLOEXEC; + fcntl(fd, F_SETFD, flags); +}