Subject: Re: pthread assertion "next != 0"
To: None <current-users@netbsd.org>
From: Arto Huusko <arto.huusko@utu.fi>
List: current-users
Date: 02/14/2003 12:34:42
On Fri, 2003-02-14 at 01:21, Daniel Carosone wrote:
> On Thu, Feb 13, 2003 at 05:59:51PM +0200, Arto Huusko wrote:
> > But anyway the problem with my app is that it is buggy; it exhibited the
> > same behaviour on Linux (well, no assertion there, it just hangs), and by
> > this I guess that the GDK lock is not recursive (which is a real bummer...
> > and it's odd that this worked with GNU pth).
> 
> The difference may be that pth is not preemptive, so you're less
> likely to trip many possible race conditions.

Not really, since in my example situation there was only one thread, so there's
no race. Now that I fixed my application to think more carefully about GDK lock,
it seems to be working pretty well now (with native threads).

I'm guessing that there is something fishy about pkgsrc's GTK threading with
no native threads. I don't think that PTH would handle unrecursive locks
incorrectly. At least in my usage locking a locked unrecursive lock in PTH
caused expected results: the program ended up waiting, and waiting...


Oh, and I want to say this: there's been lots of reports about SA/pthreads
instability, so I was a bit edgy about upgrading my current. However, the
system has been running very stable; I haven't had any problems running
XMMS, Phoenix and Evolution (except the ones you can expect with the
monster called Evolution).

So thanks a lot for everyone involved with SA/pthreads!