Signed-off-by: Zeng Linggang <[email protected]>
---
include/safe_macros.h | 5 +++++
lib/safe_macros.c | 13 +++++++++++++
2 files changed, 18 insertions(+)
diff --git a/include/safe_macros.h b/include/safe_macros.h
index b240fd6..aeff831 100644
--- a/include/safe_macros.h
+++ b/include/safe_macros.h
@@ -226,5 +226,10 @@ pid_t safe_waitpid(const char *file, const int lineno,
void (cleanup_fn)(void),
#define SAFE_WAITPID(cleanup_fn, pid, status, opts) \
safe_waitpid(__FILE__, __LINE__, (cleanup_fn), (pid), (status), (opts))
+void *safe_memalign(const char *file, const int lineno,
+ void (*cleanup_fn)(void), size_t alignment, size_t size);
+#define SAFE_MEMALIGN(cleanup_fn, alignment, size) \
+ safe_memalign(__FILE__, __LINE__, (cleanup_fn), (alignment), (size))
+
#endif /* __SAFE_MACROS_H__ */
#endif /* __TEST_H__ */
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index fbee716..54e7321 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -644,3 +644,16 @@ pid_t safe_waitpid(const char *file, const int lineno,
void (cleanup_fn)(void),
return rval;
}
+
+void *safe_memalign(const char *file, const int lineno,
+ void (*cleanup_fn) (void), size_t alignment, size_t size)
+{
+ void *rval;
+
+ rval = memalign(alignment, size);
+ if (rval == NULL)
+ tst_brkm(TBROK | TERRNO, cleanup_fn, "memalign failed at %s:%d",
+ file, lineno);
+
+ return rval;
+}
--
1.8.4.2
------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
• 3 signs your SCM is hindering your productivity
• Requirements for releasing software faster
• Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list