Commit 869c33a5 authored by Thomas Markwalder's avatar Thomas Markwalder

[4243] Addressed review comments

src/lib/asiolink/Makefile.am
    added asio_wrapper.h to list of sources

src/lib/asiolink/asio_wrapper.h
    updated commentary to include GNU/Boost bugs and
    added prominent warning comment
parent d0115185
......@@ -18,6 +18,7 @@ lib_LTLIBRARIES = libkea-asiolink.la
libkea_asiolink_la_LDFLAGS = -no-undefined -version-info 2:0:0
libkea_asiolink_la_SOURCES = asiolink.h
libkea_asiolink_la_SOURCES += asio_wrapper.h
libkea_asiolink_la_SOURCES += dummy_io_cb.h
libkea_asiolink_la_SOURCES += interval_timer.cc interval_timer.h
libkea_asiolink_la_SOURCES += io_address.cc io_address.h
......
......@@ -6,14 +6,20 @@
#ifndef ASIO_WRAPPER_H
#define ASIO_WRAPPER_H 1
// !!! IMPORTANT !!!!
// This file must be included anywhere one would normally have included
// boost/asio.hpp. Until the issue described below is resolved in some
// other fashion asio.hpp should not be included other than through
// this file.
//
// The optimizer as of gcc 5.2.0, may not reliably ensure a single value
// returned by boost::system::system_category() within a translation unit
// when building the header only version of the boost error handling.
// See Trac #4309 for more details. For now we turn off optimization for
// See Trac #4243 for more details. For now we turn off optimization for
// header only builds the under the suspect GCC versions.
//
// The issue arises from in-lining the above function, which returns a
// reference to a local static variable, system_category_const, This leads
// reference to a local static variable, system_category_const. This leads
// to situations where a construct such as the following:
//
// {{{
......@@ -35,6 +41,11 @@
// We're doing the test here, rather than in configure to guard against the
// user supplying the header only flag via environment variables.
//
// We opened bugs with GNU and BOOST:
//
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69789
// https://svn.boost.org/trac/boost/ticket/11989
//
// @todo Currently, 5.3.0 is the latest released versio of GCC. Version 6.0 is
// in development and will need to be tested.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment