$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: williamkempf_at_[hidden]
Date: 2001-09-10 22:04:19
--- In boost_at_y..., "Dale Peakall" <dale.peakall_at_b...> wrote:
> Not really a review. Haven't made enough use of it yet to provide
that.
>
> Boost.Threads fails to compile on VC6 SP5 with either or STLPort-
4.0 or
> the last snapshot (before 4.5's release at the weekend).
>
> Compilation fails on line 127 of tss.cpp. Not exactly sure what's
going
> on here, some sort of conversion problem according to the compiler
error.
I expect this will probably be corrected in the latest code in CVS,
though I don't have STLport to verify.
> A number of additional warnings are produced.
>
> C4290 warning (C++ exception specification ignored). It would be
nice
> for this to be #pragma'd out in the Boost.Threads cpp files.
What line causes this?
> C4244 warning in timeconv.inl (line 83). conversion from '__int64'
to
> 'unsigned int'; possible loss of data.
Hopefully corrected.
> C4018 warning in condition.hpp (lines 82 and 132) - signed/unsigned
> mismatch.
I need to evaluate this a little better tomorrow.
> The examples included in the documentation appear to all be broken:
>
> In the mutex documentation:
>
> create() should be create_thread() and shouldn't take 2 args.
Neither
> should the thread funcs take a void* arg. I missed the decision
not to
> provide a facility for passing data into a thread func (except by
using
> a functor). A rational wouldn't be missed for this in the docs (as
both
> pthreads and win32 threads provide this functionality).
Reported by others and fixed.
> Same for recursive_mutex.
>
> In the condition variable example:
>
> The typedef from boost::mutex::lock needs to be changed to
> boost::mutex::scoped_lock.
Thanks. Fixed.
> The constructor name needs to match the name of the class
> (bounded_buffer).
Thanks. Fixed.
> Again the thread funcs shouldn't take any args and the constructor
for
> the threads shouldn't try and provide one.
Thanks. Fixed.
> The finished variable doesn't exist.
Removed.
> The thread_specific_ptr example:
>
> Missing template type in typedef. Should be
> boost::thread_specific_ptr<int>.
Problem with < > usage. Reported earlier and fixed.
> In thread_proc() should be value.reset() rather than value.set().
Reported earlier and fixed.
> In main(), create() should be create_thread(). Should return 0.
The create() was reported earlier and fixed. Strictly speaking main
() need not return 0. VC++ produces an erroneous warning here, but
the behavior is well defined by the standard.
Bill Kempf