summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-01-21 00:14:51 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-01-21 00:14:51 +0100
commita3268ac392241830cf6c91abe663f252c407cf8c (patch)
tree8b0e74a792e864f4c82a587703d8e59886409e1e
parent02de9ac61e84c40b18f71e7d8be15f90bb01411e (diff)
downloadcygnal-a3268ac392241830cf6c91abe663f252c407cf8c.tar.gz
cygnal-a3268ac392241830cf6c91abe663f252c407cf8c.tar.bz2
cygnal-a3268ac392241830cf6c91abe663f252c407cf8c.zip
Cygwin: timerfd: Handle gettime error in settime
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/timerfd.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/timerfd.cc b/winsup/cygwin/timerfd.cc
index 4f04efd13..e5c17fb4e 100644
--- a/winsup/cygwin/timerfd.cc
+++ b/winsup/cygwin/timerfd.cc
@@ -590,8 +590,8 @@ timerfd_tracker::settime (int flags, const struct itimerspec *new_value,
ret = -EBADF;
__leave;
}
- if (old_value)
- gettime (old_value);
+ if (old_value && (ret = gettime (old_value)) < 0)
+ __leave;
if (new_value->it_value.tv_sec == 0 && new_value->it_value.tv_nsec == 0)
ret = disarm_timer ();
else