Opened 12 years ago

Closed 12 years ago

#4225 closed Bugs (fixed)

boost::once_flag suffers from static initialization problem

Reported by: Tanguy Fautre <tfautre@…> Owned by: Anthony Williams
Milestone: Boost 1.44.0 Component: thread
Version: Boost 1.43.0 Severity: Problem
Keywords: Cc: tfautre@…

Description

Commit r57889 on boost/thread/win32/once.hpp has broken the POD guarantees of boost::flag_once by adding a destructor and introduced static initialization order problems.

This in turn introduces problems in other part of Boost.Thread that relies on boost::flag_once as a static entity such as thread_specific_ptr (source:trunk/libs/thread/src/win32/thread.cpp#L28@57889), leading to segfaults in some applications. For more details, see boost.devel post [thread] thread_specific_ptr and static initialization order.

Change History (2)

comment:1 by Tanguy Fautre <tfautre@…>, 12 years ago

Cc: tfautre@… added

comment:2 by Anthony Williams, 12 years ago

Resolution: fixed
Status: newclosed

Fixed on trunk.

Note: See TracTickets for help on using tickets.