From: williamkempf_at_[hidden]
Date: 2001-04-03 16:08:31


--- In boost_at_y..., Lie-Quan Lee <llee1_at_l...> wrote:
> At Tue, 3 Apr 2001 14:51:46 -0400,
> David Abrahams wrote:
> > Okay so far...
> >
> > > so you'd prefer to
> > > specify Unchecked so the known behavior is a deadlock.
> >
> > That assumes that a deadlock is a useful intended behavior. Is it?
> > Specifying "undefined" is sometimes a better alternative to "some
specific
> > really bad behavior", because it allows an implementation to do
something
> > more reasonable (e.g. throw an exception).
>
> "undefined" could be an alias of "guaranteed dead lock" depending
on
> the implementation in pthreads. Are you talking about Boost.Threads
> have an "undefined" mutex whose "implementation to do something
> more reasonable"?

No, undefined does _not_ mean "guaranteed dead lock" by the POSIX
definition (so what specific implementations do is irrelevant). The
two policies are not synonymous. One policy is a strict policy of
not checking ownership so that recursive locks result in deadlock,
while the other policy makes no attempt to define the semantics at
all.

Bill Kempf