From b91e17b6cfd99363502435406d2f0f323cfac380 Mon Sep 17 00:00:00 2001 From: Scott Wegner Date: Fri, 10 Aug 2007 14:07:06 -0500 Subject: [svn-r14067] Purpose: Revise usage of H5_HAVE_SIGLONGJMP Description: The way I had integrated H5_HAVE_SIGLONGJMP previously, we conditionally removed far more functionality than we needed. As a result, Windows type alignment was lost. This commit localizes the ifdef so it only surrounds the actual call to siglongjmp. This is equivalent to what we've done in the past-- simply comment out the line. Tested: VNET on WinXP --- src/H5detect.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/H5detect.c b/src/H5detect.c index 17f6db2..1f79869 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -356,7 +356,7 @@ precision (detected_t *d) COMP_ALIGN = (size_t)((char*)(&(s.x)) - (char*)(&s)); \ } -#if defined(H5_HAVE_LONGJMP) && defined(H5_HAVE_SIGNAL) && defined(H5_HAVE_SIGLONGJMP) +#if defined(H5_HAVE_LONGJMP) && defined(H5_HAVE_SIGNAL) #define ALIGNMENT(TYPE,INFO) { \ char *volatile _buf=NULL; \ volatile TYPE _val=1; \ @@ -493,7 +493,9 @@ sigbus_handler(int UNUSED signo) { signal(SIGBUS, sigbus_handler); longjmp(jbuf_g, 1); +#ifdef H5_HAVE_SIGLONGJMP siglongjmp(jbuf_g, 1); +#endif /* H5_HAVE_SIGLONGJMP */ } -- cgit v0.12