On Fri, Dec 10, 2004 at 01:45:45PM -0500, Daniel Phillips wrote: > Hi Patrick, > > On Friday 10 December 2004 04:14, Patrick Caulfield wrote: > > On Thu, Dec 09, 2004 at 04:52:42PM -0500, Daniel Phillips wrote: > > If you call dlm_lock() with the same parameters twice then you will get > > two seperate locks - in that case the CR will wait for the PW to get out > > of the way. What is really confusing the issue is that both locks are > > sharing a lock status block - so it's possible that one lock is being > > marked INPROGRESS immediately after the first has completed, in that case > > the library will have a lot of difficulty in digging you out of your own > > hole I'm afraid as it can't disentangle the status of your two locks. > > For robustness, dlm_unlock(_wait) ought to return an error in that case. > > But are these locks supposed to be recursive or not? It's not a question of recursive or non-recursive locks, it's a question of the user re-using the same status block for two different locks. That is most certainly NOT supported. But if it's possible for the library code to behave better in that circumstance then I think it should. -- patrick