[Boost-bugs] [Boost C++ Libraries] #5763: Segmentation fault in ASIO signal handler

Subject: [Boost-bugs] [Boost C++ Libraries] #5763: Segmentation fault in ASIO signal handler
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-08-08 07:50:30


#5763: Segmentation fault in ASIO signal handler
------------------------------------------+---------------------------------
 Reporter: Vladislav <phprus@…> | Owner: chris_kohlhoff
     Type: Patches | Status: new
Milestone: Boost 1.48.0 | Component: asio
  Version: Boost 1.47.0 | Severity: Regression
 Keywords: |
------------------------------------------+---------------------------------
 Hello!

 I am using boost asio 1.47.0 to system signal handler.
 If using compiler Intel Composer XE 12.0.1 and optimization level greater
 -01 segmentation fault occurs in file
 boost/asio/detail/signal_handler.hpp:67.
 In code line:
 {{{
 boost_asio_handler_invoke_helpers::invoke(handler, handler.handler_);
 }}}

 If insert before this line "sleep(0)" or write to stdout ASIO work normal.
 If using GCC 4.1.2, 4.3.4, 4.5.0, 4.6.1(MinGW) and Intel C++ 11.1 code
 work normal.

 I noticed that the ICC and GCC use different versions of fenced_block and
 replaced gcc_x86_fenced_block to gcc_sync_fenced_block in ICC then error
 is gone.

 Function __sync_lock_test_and_set is available in the ICC since version
 11.0, I wrote the appropriate patch.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5763>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC