From 74dc41703d72516baa7a3d6cd46dcc7b138806d4 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Wed, 5 Oct 2016 20:29:01 -0400 Subject: Fix Cygwin compile error due to sigemptyset (Issue 315) --- ossig.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'ossig.h') diff --git a/ossig.h b/ossig.h index 8764c167..35e8f789 100644 --- a/ossig.h +++ b/ossig.h @@ -82,12 +82,16 @@ struct SignalHandler // Don't step on another's handler if Overwrite=false 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 - new_handler.sa_handler = (pfn ? pfn : &NullSignalHandler); - new_handler.sa_flags = (pfn ? flags : 0); - +#if defined __CYGWIN__ + // http://github.com/weidai11/cryptopp/issues/315 + memset(&new_handler, 0x00, sizeof(new_handler)); +#else ret = sigemptyset (&new_handler.sa_mask); if (ret != 0) break; // Failed +#endif + + new_handler.sa_handler = (pfn ? pfn : &NullSignalHandler); + new_handler.sa_flags = (pfn ? flags : 0); // Install it ret = sigaction (S, &new_handler, 0); -- cgit v1.2.1