Boost logo

Boost :

From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2007-03-09 09:46:16


On Thursday 08 March 2007 17:52 pm, Stjepan Rajko wrote:
> Thanks for posting that! I downloaded the tarball and added it to my
> boost tree. My first question is regarding the file structure -
> currently, there are conflicts between files of the old signals
> library and thread_safe_signals. I am trying to adapt the signal
> networks / signal flow library to be compatible with both signals and
> your thread_safe_signals, and it would be helpful if both signal
> libraries could co-exist in the same file system. To allow this, I
> modified last_value.hpp, signals/connection.hpp and signals/slot.hpp
> as follows:
>
> #ifdef BOOST_USE_THREAD_SAFE_SIGNALS
> ... your new code ...
> #else
> ... old code ...
>
> In finalizing your library, would it be possible for you to add some
> mechanism like this to allow the two signal libraries to coexist on
> the same file system?

I intended for thread_safe_signals to be unpacked in a separate directory
from your full boost installation. You could then choose to use it (or
not) by including the path to thread_safe_signals in your include path,
before the path to the full boost installation.

>
> Also, what are your plans for thread_safe_signals? Will signals be
> replaced with thread_safe_signals or be a separate addition to the
> library?

It's intended to be a replacement. Douglas Gregor indicated he was fine
with replacing the current version of signals with a thread-safe version
2, if the interface wasn't changed too much. He hasn't commented
specifically on the interface changes we have made though. Timmo Stange
also has another thread-safe implementation he's been working on in
parallel, which is similar in interface to thread_safe_signals, but uses
much more of the original Boost.Signals codebase.

>
> When I tried to build my code using thread_safe_signals, I get an
> error using MSVC8 and boost_1_33_1:
>
> \boost\thread_safe_signals\connection.hpp(123) : error C2039: 'lock' :
> is not a member of 'boost::function<Signature>'

Thanks for the bug report, I don't have any Microsoft compilers. Would you
try the attached patch?

> Should I be using the CVS version of boost?

No, anything 1.33.0 or newer should be fine on Windows. I usually use
1.32.0 on Linux.

-- 
Frank





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