From e89d987056cee7d4e279be3ef3a6cc690bfc0e6d Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Wed, 2 Jun 2010 17:46:58 +0300 Subject: Adjust SA_RESTART workaround. I want to get a bug report if something else than DJGPP lacks SA_RESTART. --- src/xz/message.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/xz/message.c b/src/xz/message.c index 19734e5b..ad93573a 100644 --- a/src/xz/message.c +++ b/src/xz/message.c @@ -142,19 +142,19 @@ message_init(void) */ #ifdef SIGALRM - // At least DJGPP lacks SA_RESTART. It's not essential for us (the - // rest of the code can handle interrupted system calls), so just - // define it zero. -# ifndef SA_RESTART + // DJGPP lacks SA_RESTART, but it shouldn't give EINTR + // in most places either. +# if defined(__DJGPP__) && !defined(SA_RESTART) # define SA_RESTART 0 # endif + // Establish the signal handlers which set a flag to tell us that // progress info should be updated. Since these signals don't - // require any quick action, we set SA_RESTART. + // require any quick action, we set SA_RESTART. That way we don't + // need to block them either in signals_block() to keep stdio + // functions from getting EINTR. static const int sigs[] = { -#ifdef SIGALRM SIGALRM, -#endif #ifdef SIGINFO SIGINFO, #endif -- cgit v1.2.3