Boost logo

Boost :

From: stas garifulin (s.garifulin_at_[hidden])
Date: 2005-01-19 06:02:11


stas garifulin wrote:

> I'm using vc71 with multi-threaded runtime.
> Sometimes then boost::spirit code is accessed from different threads
> simultaneously i have access violation at
> boost/spirit/core/non_terminal/impl/grammar.ipp (255):
>
> # ifdef BOOST_SPIRIT_THREADSAFE
> static boost::thread_specific_ptr<ptr_t> tld_helper; // <-- Here
> if (!tld_helper.get())
> tld_helper.reset(new ptr_t);
> ptr_t &helper = *tld_helper;
> # else
>
>
Possible same problem, local static variables:

boost-1_32\boost\spirit\core\non_terminal\impl\object_with_id.ipp(130,133).
boost-1_32\boost\spirit\core\primitives\impl\numerics.ipp(516)
boost-1_32\boost\spirit\debug\impl\parser_names.ipp(420)
boost-1_32\boost\spirit\utility\impl\chset_operators(511, 521)
boost-1_32\boost\spirit\utility\impl\escape_char.ipp(192)

boost-1_32\boost\spirit\phoenix\closures.hpp(404).

Debugging and tree_to_xml doesn't work corectly in multi-threaded
enviroment. Its use static ints for storing intendation info that should
be moved to tls too.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk