[LTP] [PATCH 03/19] Unify error handling in lib/tst_safe_timerfd.c
Yang Xu
xuyang2018.jy@cn.fujitsu.com
Tue Oct 27 10:21:36 CET 2020
Hi Martin
> - 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);
Here also should use else if.
> }
>
> 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;
More information about the ltp
mailing list