[LTP] [COMMITTED] [PATCH] checkpoints: Fix WAIT/WAKE macros

Cyril Hrubis chrubis@suse.cz
Wed Dec 1 12:20:59 CET 2021


There shouldn't be semicolons there in the first place and
the WAKE_AND_WAIT() should have been wrapped in do { } while (0).

This fixes the usage of the macros in if () conditions with a single
line as:

	if (foo)
		TST_CHECKPOINT_WAKE_AND_WAIT(0);

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
 include/tst_checkpoint.h | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/include/tst_checkpoint.h b/include/tst_checkpoint.h
index 5c8067d0d..1b6911d73 100644
--- a/include/tst_checkpoint.h
+++ b/include/tst_checkpoint.h
@@ -8,20 +8,21 @@
 #include "tst_checkpoint_fn.h"
 
 #define TST_CHECKPOINT_WAIT(id) \
-        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, 0);
+        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, 0)
 
 #define TST_CHECKPOINT_WAIT2(id, msec_timeout) \
-        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, msec_timeout);
+        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, msec_timeout)
 
 #define TST_CHECKPOINT_WAKE(id) \
-        tst_safe_checkpoint_wake(__FILE__, __LINE__, NULL, id, 1);
+        tst_safe_checkpoint_wake(__FILE__, __LINE__, NULL, id, 1)
 
 #define TST_CHECKPOINT_WAKE2(id, nr_wake) \
-        tst_safe_checkpoint_wake(__FILE__, __LINE__, NULL, id, nr_wake);
+        tst_safe_checkpoint_wake(__FILE__, __LINE__, NULL, id, nr_wake)
 
-#define TST_CHECKPOINT_WAKE_AND_WAIT(id) \
+#define TST_CHECKPOINT_WAKE_AND_WAIT(id) do { \
         tst_safe_checkpoint_wake(__FILE__, __LINE__, NULL, id, 1); \
-        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, 0);
+        tst_safe_checkpoint_wait(__FILE__, __LINE__, NULL, id, 0); \
+} while (0)
 
 extern const char *tst_ipc_path;
 
-- 
2.32.0



More information about the ltp mailing list