[LTP] [PATCH v2 1/2] Add SAFE_CLOCK_NANOSLEEP macro utility
Andrea Cervesato
andrea.cervesato@suse.de
Mon Jun 30 13:56:34 CEST 2025
From: Andrea Cervesato <andrea.cervesato@suse.com>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/tst_safe_clocks.h | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/include/tst_safe_clocks.h b/include/tst_safe_clocks.h
index 5661ce57bf7c7b2b0eb3ada9d01049abdd99dab0..5b0e8c5b8c2baad9b41e7f3bf56274d94ebddc7e 100644
--- a/include/tst_safe_clocks.h
+++ b/include/tst_safe_clocks.h
@@ -73,6 +73,26 @@ static inline int safe_clock_settime(const char *file, const int lineno,
return rval;
}
+static inline int safe_clock_nanosleep(const char *file, const int lineno,
+ clockid_t clockid, int flags, const struct timespec *ts,
+ struct timespec *remain)
+{
+ int ret;
+
+ errno = 0;
+ ret = clock_nanosleep(clockid, flags, ts, remain);
+
+ if (ret == -1) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "clock_nanosleep() failed");
+ } else if (ret) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "Invalid clock_nanosleep() return value %d", ret);
+ }
+
+ return ret;
+}
+
static inline int safe_timer_create(const char *file, const int lineno,
clockid_t clockid, struct sigevent *sevp, timer_t *timerid)
{
@@ -159,6 +179,9 @@ static inline int safe_timer_delete(const char *file, const int lineno,
#define SAFE_CLOCK_SETTIME(clk_id, tp)\
safe_clock_settime(__FILE__, __LINE__, (clk_id), (tp))
+#define SAFE_CLOCK_NANOSLEEP(clockid, flags, ts, remain)\
+ safe_clock_nanosleep(__FILE__, __LINE__, clockid, flags, ts, remain)
+
#define SAFE_TIMER_CREATE(clockid, sevp, timerid)\
safe_timer_create(__FILE__, __LINE__, (clockid), (sevp), (timerid))
--
2.50.0
More information about the ltp
mailing list