> On Wed, Mar 31, 2004 at 01:54:35PM +0200, Leopold Toetsch said:
> > > Probably select have been called without timeout.
> >
> > Yes that's true. But the event thread wakes up the io_thread (s.
> > stop_io_thread). This seems to fail with PTH as it doesn't preempt.
> >
> > Looking at the code, this seems to happen, when a thread is created and
> > never started. The main interpreter tries to join that thread
> > nethertheless. I've set another flag which should cure this flaw.
>
> FWIW, and I have no idea if it's related, I've been hitting problems
> with threads in $other project.
>
> The problem boiled down the fact that mutexes can be either fast,
> recursive or error checking. The 'fast' type doesn't care about thread
> ownership and can be unlocked by anything.
>
> *BSD and Solaris all use 'error checking' whilst linux, for some unknown
> reason, defaults to 'fast' which can cause a whole host of problems.
>
> This may or may not be what we're seeing here.
>
> This thread ...
>
>
http://sourceforge.net/mailarchive/forum.php?thread_id=1560582&forum_id=7710
>
> gives more details.
>
> Simon

I wonder if this problem will remain in the kernel-supported threads of
NetBSD 2.x?
http://netbsd.gw.com/cgi-bin/man-cgi?pthread++NetBSD-current
http://www.mit.edu/people/nathanw/usenix/freenix-sa/freenix-sa.html

Nick.


Reply via email to