[LTP] [PATCH v2 1/7] Add more safe macros for mqueue API
Andrea Cervesato
andrea.cervesato@suse.com
Thu Jun 16 16:07:11 CEST 2022
Added SAFE_MQ_UNLINK and SAFE_MQ_CLOSE in tst_safe_posix_ipc.h
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/tst_safe_posix_ipc.h | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/include/tst_safe_posix_ipc.h b/include/tst_safe_posix_ipc.h
index b60c12c9e..3650209ae 100644
--- a/include/tst_safe_posix_ipc.h
+++ b/include/tst_safe_posix_ipc.h
@@ -11,6 +11,10 @@
#define SAFE_MQ_OPEN(pathname, oflags, ...) \
safe_mq_open(__FILE__, __LINE__, (pathname), (oflags), ##__VA_ARGS__)
+#define SAFE_MQ_CLOSE(__mqdes) \
+ safe_mq_close(__FILE__, __LINE__, (__mqdes))
+#define SAFE_MQ_UNLINK(name) \
+ safe_mq_unlink(__FILE__, __LINE__, (name))
static inline int safe_mq_open(const char *file, const int lineno,
const char *pathname, int oflags, ...)
@@ -46,4 +50,34 @@ static inline int safe_mq_open(const char *file, const int lineno,
return rval;
}
+static inline int safe_mq_close(const char *file, const int lineno,
+ mqd_t __mqdes)
+{
+ int rval;
+
+ rval = mq_close(__mqdes);
+
+ if (rval == -1) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "mq_close(%d) failed", __mqdes);
+ }
+
+ return rval;
+}
+
+static inline int safe_mq_unlink(const char *file, const int lineno,
+ const char* name)
+{
+ int rval;
+
+ rval = mq_unlink(name);
+
+ if (rval == -1) {
+ tst_brk_(file, lineno, TBROK | TERRNO,
+ "mq_unlink(%s) failed", name);
+ }
+
+ return rval;
+}
+
#endif /* TST_SAFE_POSIX_IPC_H__ */
--
2.35.3
More information about the ltp
mailing list