summaryrefslogtreecommitdiff
path: root/src/shared/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/util.c')
-rw-r--r--src/shared/util.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/shared/util.c b/src/shared/util.c
index 5551714a36..cdd9a48866 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -3869,13 +3869,16 @@ int pipe_eof(int fd) {
}
int fd_wait_for_event(int fd, int event, usec_t t) {
- int r;
+
struct pollfd pollfd = {
.fd = fd,
.events = event,
};
- r = poll(&pollfd, 1, t == (usec_t) -1 ? -1 : (int) (t / USEC_PER_MSEC));
+ struct timespec ts;
+ int r;
+
+ r = ppoll(&pollfd, 1, t == (usec_t) -1 ? NULL : timespec_store(&ts, t), NULL);
if (r < 0)
return -errno;