Ticket #1260 (closed Bugs: fixed)
Thread-safety problem in Boost.Function
| Reported by: | dgregor | Owned by: | dgregor |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | function |
| Version: | Boost 1.34.1 | Severity: | Regression |
| Keywords: | Cc: |
Description
From Sean Huang, on the Boost mailing list:
The following code in function_template.hpp has me concerned:
template<typename Functor> void assign_to(Functor f) {
static vtable_type stored_vtable(f); if (stored_vtable.assign_to(f, functor)) vtable = &stored_vtable; else vtable = 0;
}
The function scope statics are not thread-safe as far as I know and this is potentially a show stopper for us (we're in the process of upgrading from 1.33.1 to 1.34+. Same usage in boost.serialization caused our application (very heavy threaded) to crash.
Attachments
Change History
comment:2 Changed 8 years ago by alex_basakov@…
Can't build 1.34.1 program_options library with newly provided function_base.hpp, function_template.hpp. MSVC 8.0 SP1.

(In [39240]) function/function_base.hpp, function/function_template.hpp: