Travis Vitek wrote:


Martin Sebor wrote:
[...]

I wonder if this might be the cause of the problem:
   http://svn.apache.org/viewvc?view=rev&revision=576787

[...]

(Farid, the ChangeLog has your name on it even though the change
itself was mine. Let it be a reminder to you to give blame where
blame is due :)


Are you sure? I specifically remember Farid and I trying to convince you
that it needed to be a class guard instead of a static guard. The
conversation is archived at
http://www.nabble.com/forum/ViewPost.jtp?post=12680046.

That's right, this one is your guys' fault! ;-)

I was talking about the other change which I'm to blame for:
http://svn.apache.org/viewvc?view=rev&revision=588734

Farid was just nice enough to merge it to trunk for me and
in the process replaced my name in the ChangeLog with mine:
http://svn.apache.org/viewvc?view=rev&revision=590124


It is likely that is actually the problem. As Farid and I agreed, the
functions __rw_manage_cat_data, catopen, catclose, catgets need to use the
same lock. Looks like we need to add a scope to isolate the guard so that
the lock is released before the _RWSTD_REQUIRES().

Something like that. Btw., the deadlock problem here has been
an issue before -- see (Rogue Wave only):
http://insight.roguewave.com/onyxinsight/qa/qa30046.htm

Martin

Reply via email to