
The Test library is failing to build on the Subversion trunk with the following error: darwin.compile.c++ ../../../../bin.v2/libs/test/build/darwin/debug/ link-static/execution_monitor.o ../../../../boost/test/impl/execution_monitor.ipp: In member function 'void boost::detail::system_signal_exception::report() const': ../../../../boost/test/impl/execution_monitor.ipp:426: error: 'SIGPOLL' was not declared in this scope ../../../../boost/test/impl/execution_monitor.ipp: In constructor 'boost::detail::signal_action::signal_action(int, bool, bool, char*)': ../../../../boost/test/impl/execution_monitor.ipp:527: error: expected id-expression before '(' token ../../../../boost/test/impl/execution_monitor.ipp: In constructor 'boost::detail::signal_handler::signal_handler(bool, int, bool, char*)': ../../../../boost/test/impl/execution_monitor.ipp:608: error: 'SIGPOLL' was not declared in this scope The definition of SIGPOLL in Mac OS X's signal.h is conditional: #if defined(_POSIX_C_SOURCE) #define SIGPOLL 7 /* pollable event ([XSR] generated, not supported) */ #else /* !_POSIX_C_SOURCE */ #define SIGIOT SIGABRT /* compatibility */ #define SIGEMT 7 /* EMT instruction */ #endif /* !_POSIX_C_SOURCE */ I'll be happy to test fixes, if that would help, but I'm too confused about the handling of SIGPOLL in execution_monitor.ipp to come up with my own patch. In one place, the use of SIGPOLL is guarded by ! defined(__CYGWIN__), in other places there doesn't seem to be such a guard. A little Googling notes that SIGPOLL is also missing on Cygwin, so I assume the Test library is broken on that platform, too. - Doug

Doug Gregor <dgregor <at> osl.iu.edu> writes:
I'll be happy to test fixes, if that would help, but I'm too confused about the handling of SIGPOLL in execution_monitor.ipp to come up with my own patch. In one place, the use of SIGPOLL is guarded by ! defined(__CYGWIN__), in other places there doesn't seem to be such a guard. A little Googling notes that SIGPOLL is also missing on Cygwin, so I assume the Test library is broken on that platform, too.
Actually it compiles and works for my tests (I can only assume that SIGPOLL is actually defined there, but additional constants does not). In any case you are right and it should probably be consistent. Can you ifdef both references to SIGPOLL with BOOST_TEST_CATCH_SIGPOLL and disable it for CYGWIN and mac? Gennadiy

"Doug Gregor" <dgregor@osl.iu.edu> wrote in message news:309BFA5C-401F-48B9-9059-1E93699486F3@osl.iu.edu...
I'll be happy to test fixes, if that would help, but I'm too confused about the handling of SIGPOLL in execution_monitor.ipp to come up with my own patch. In one place, the use of SIGPOLL is guarded by ! defined(__CYGWIN__), in other places there doesn't seem to be such a guard. A little Googling notes that SIGPOLL is also missing on Cygwin, so I assume the Test library is broken on that platform, too.
I can't find MacOS results in regression tables, so I can't put proper guard myself. try 40322 version and see if you can easily fix it. Gennadiy
participants (2)
-
Doug Gregor
-
Gennadiy Rozental