Boost logo

Boost :

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 &lt; &gt; 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


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