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