|
Boost Users : |
From: Michael (mwitham_at_[hidden])
Date: 2003-03-26 21:30:20
You are right. I had the code written as you said it should be but I
accidentally typed in the mutex name instead of the lock name.
Thanks for your help.
- Michael
--- In Boost-Users_at_[hidden], "William E. Kempf" <wekempf_at_c...>
wrote:
>
> Michael said:
> > I am having trouble getting the boost thread library to work. I
am
> > using Borland C++Builder 6 (on Win2k), and I tried the 1.29.0
release
> > and the 1.30.0.b1 beta release and both give me the same errors
in the
> > condition.hpp file:
> >
> > line 93: " 'operator!' not implemented in type 'recursive_mutex'
for
> > arguments of the same type"
> >
> > and
> >
> > line 96: " 'recursive_mutex::m_mutex' is not accessible"
>
> Looking at these lines and making some assumptions, I think you're
passing
> the wrong type to wait(). You need to pass a Lock, not a Mutex.
IOW I
> think you have something like this:
>
> recursive_mutex mx;
> condition cond;
> while (pred)
> cond.wait(mx);
>
> when you should instead have this:
>
> recursive_mutex mx;
> condition cond;
> recursive_mutex::scoped_lock lock(mx);
> while (pred)
> cond.wait(lock);
>
> > Plus another 5 errors. I tried to look at the condition and
> > recursive_mutex class definitions and I do not understand how
they are
> > implemented. Am I using it wrong to get that error?
>
> I believe so, but you'll have to let me know if I interpreted things
> correctly.
>
> --
> William E. Kempf
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net