Boost logo

Boost :

From: williamkempf_at_[hidden]
Date: 2001-03-15 09:30:29


--- In boost_at_y..., Doug Gregor <gregod_at_r...> wrote:
> On Wednesday 14 March 2001 05:51, you wrote:
> [snip]
> > 2) I especially need folks looking at the pthread implementation.
> > What I have compiles and works with VC++ using a Win32 port of
> > pthreads. However, it periodically dead locks (running both the
> > example program and the test program) and I've yet to figure out
> > why. I don't see an error in the implementation so the problem
may
> > even be in the Win32 port, so if the problem can't be reproduced
on
> > other platforms I'll need Win32 users to help out here.
>
> It builds fine on x86 Linux with a few minor changes:
> 1) Use forward slashes instead of backslashes when including
headers.
> Windows will support #include <boost/header.hpp>, but not all Unix
systems
> (Linux included) support #include <boost\header.hpp>.

Jeremy Siek already pointed this out to me and I attempted to change
all of them. Which specific ones did I miss?

> 2) xlock.hpp has an extra "typename" in line 61 that GCC
complains about.

Another one that Jeremy pointed out and I must have missed. I'll
correct both of these yet today.
 
> However, I have reproduced the deadlock problem with the example
program.

With what sort of frequency? Do you have any way of telling where it
deadlocks for me? Obviously I've got a race condition here and will
have to track it down and fix it.

> A compiler at GCC's highest warning level (-ansi -pedantic -Wall)
results in
> some signed/unsigned comparison warnings in the pthread handling
code.
> Commonly the condition:
>
> if (milliseconds == -1)
>
> appears, where "milliseconds" is an unsigned int. Is this
safe/intended?

Intended. I'm not 100% sure about safe. If this is not portably
safe I'll need to change this to use numeric_limits<>::max.

Thanks for the feedback.

Bill Kempf


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