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:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; 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

Reply via email to