[LTP] [PATCH 03/19] Unify error handling in lib/tst_safe_timerfd.c
Martin Doucha
mdoucha@suse.cz
Mon Oct 26 17:47:40 CET 2020
- Properly format caller file:line locations
- Pedantically check for invalid syscall return values
Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
lib/tst_safe_timerfd.c | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/lib/tst_safe_timerfd.c b/lib/tst_safe_timerfd.c
index ffe7b2ef7..4c36a309c 100644
--- a/lib/tst_safe_timerfd.c
+++ b/lib/tst_safe_timerfd.c
@@ -17,9 +17,14 @@ int safe_timerfd_create(const char *file, const int lineno,
int fd;
fd = timerfd_create(clockid, flags);
- if (fd < 0) {
- tst_brk(TTYPE | TERRNO, "%s:%d timerfd_create(%s) failed",
- file, lineno, tst_clock_name(clockid));
+
+ if (fd == -1) {
+ tst_brk_(file, lineno, TTYPE | TERRNO,
+ "timerfd_create(%s) failed", tst_clock_name(clockid));
+ } else if (fd < 0) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "Invalid timerfd_create(%s) return value %d",
+ tst_clock_name(clockid), fd);
}
return fd;
@@ -31,9 +36,14 @@ int safe_timerfd_gettime(const char *file, const int lineno,
int rval;
rval = timerfd_gettime(fd, curr_value);
- if (rval != 0) {
- tst_brk(TTYPE | TERRNO, "%s:%d timerfd_gettime() failed",
- file, lineno);
+
+ if (rval == -1) {
+ tst_brk_(file, lineno, TTYPE | TERRNO,
+ "timerfd_gettime() failed");
+ }
+ if (rval) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "Invalid timerfd_gettime() return value %d", rval);
}
return rval;
@@ -47,9 +57,13 @@ int safe_timerfd_settime(const char *file, const int lineno,
int rval;
rval = timerfd_settime(fd, flags, new_value, old_value);
- if (rval != 0) {
- tst_brk(TTYPE | TERRNO, "%s:%d timerfd_settime() failed",
- file, lineno);
+
+ if (rval == -1) {
+ tst_brk_(file, lineno, TTYPE | TERRNO,
+ "timerfd_settime() failed");
+ } else if (rval) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "Invalid timerfd_settime() return value %d", rval);
}
return rval;
--
2.28.0
More information about the ltp
mailing list