mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-18 15:15:56 +08:00
[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
This commit is contained in:
parent
e039e5125c
commit
b91e17b6cf
@ -356,7 +356,7 @@ precision (detected_t *d)
|
|||||||
COMP_ALIGN = (size_t)((char*)(&(s.x)) - (char*)(&s)); \
|
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) { \
|
#define ALIGNMENT(TYPE,INFO) { \
|
||||||
char *volatile _buf=NULL; \
|
char *volatile _buf=NULL; \
|
||||||
volatile TYPE _val=1; \
|
volatile TYPE _val=1; \
|
||||||
@ -493,7 +493,9 @@ sigbus_handler(int UNUSED signo)
|
|||||||
{
|
{
|
||||||
signal(SIGBUS, sigbus_handler);
|
signal(SIGBUS, sigbus_handler);
|
||||||
longjmp(jbuf_g, 1);
|
longjmp(jbuf_g, 1);
|
||||||
|
#ifdef H5_HAVE_SIGLONGJMP
|
||||||
siglongjmp(jbuf_g, 1);
|
siglongjmp(jbuf_g, 1);
|
||||||
|
#endif /* H5_HAVE_SIGLONGJMP */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user