Mercurial > hg > octave-nkf
changeset 17998:f82fd6854dbf
use gnulib sigemptyset and sigaddset in thread_manager class
* thread-manager.cc (block_or_unblock_signal): Use gnulib sigemptyset
and sigaddset functions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 24 Nov 2013 20:54:46 -0500 |
parents | 8dd427538147 |
children | 4b13b52ba384 |
files | libgui/src/thread-manager.cc |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/thread-manager.cc +++ b/libgui/src/thread-manager.cc @@ -87,6 +87,18 @@ : rep (octave_thread_manager::create_rep ()) { } +// The following is a workaround for an apparent bug in GCC 4.1.2 and +// possibly earlier versions. See Octave bug report #30685 for details. +#if defined (__GNUC__) +# if ! (__GNUC__ > 4 \ + || (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 \ + || (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ > 2)))) +# undef GNULIB_NAMESPACE +# define GNULIB_NAMESPACE +# warning "disabling GNULIB_NAMESPACE for signal functions -- consider upgrading to a current version of GCC" +# endif +#endif + static void block_or_unblock_signal (int how, int sig) { @@ -100,9 +112,9 @@ sigset_t signal_mask; - sigemptyset (&signal_mask); + GNULIB_NAMESPACE::sigemptyset (&signal_mask); - sigaddset (&signal_mask, sig); + GNULIB_NAMESPACE::sigaddset (&signal_mask, sig); pthread_sigmask (how, &signal_mask, 0); #endif