X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=util.c;h=5df811d038df60414a221b9d2a2f9d40a1545cca;hb=4f4a1dbf2171aa62da04d2e3b6945e8992139d14;hp=f8b3f44ad15d665aa4a25a48cf44fb62f087a665;hpb=e3d1855bb991f7b118b77e6a2520eb4049cf5438;p=elogind.git diff --git a/util.c b/util.c index f8b3f44ad..5df811d03 100644 --- a/util.c +++ b/util.c @@ -1890,6 +1890,24 @@ int parse_usec(const char *t, usec_t *usec) { return 0; } +int make_stdio(int fd) { + int r, s, t; + + assert(fd >= 0); + + r = dup2(fd, STDIN_FILENO); + s = dup2(fd, STDOUT_FILENO); + t = dup2(fd, STDERR_FILENO); + + if (fd >= 3) + close_nointr_nofail(fd); + + if (r < 0 || s < 0 || t < 0) + return -errno; + + return 0; +} + static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_NONE] = "none", [IOPRIO_CLASS_RT] = "realtime",