Fix Cygwin compile error due to sigemptyset (Issue 315)
parent
dc927defa1
commit
74dc41703d
12
ossig.h
12
ossig.h
|
|
@ -82,12 +82,16 @@ struct SignalHandler
|
||||||
// Don't step on another's handler if Overwrite=false
|
// Don't step on another's handler if Overwrite=false
|
||||||
if (m_old.sa_handler != 0 && !O) break;
|
if (m_old.sa_handler != 0 && !O) break;
|
||||||
|
|
||||||
// Sun Studio 12.2-12.4 needs the two casts, and they must be C-style casts
|
#if defined __CYGWIN__
|
||||||
new_handler.sa_handler = (pfn ? pfn : &NullSignalHandler);
|
// http://github.com/weidai11/cryptopp/issues/315
|
||||||
new_handler.sa_flags = (pfn ? flags : 0);
|
memset(&new_handler, 0x00, sizeof(new_handler));
|
||||||
|
#else
|
||||||
ret = sigemptyset (&new_handler.sa_mask);
|
ret = sigemptyset (&new_handler.sa_mask);
|
||||||
if (ret != 0) break; // Failed
|
if (ret != 0) break; // Failed
|
||||||
|
#endif
|
||||||
|
|
||||||
|
new_handler.sa_handler = (pfn ? pfn : &NullSignalHandler);
|
||||||
|
new_handler.sa_flags = (pfn ? flags : 0);
|
||||||
|
|
||||||
// Install it
|
// Install it
|
||||||
ret = sigaction (S, &new_handler, 0);
|
ret = sigaction (S, &new_handler, 0);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue