From 8a5851880ebfe8a517dd99e121df03cd6ad6760f Mon Sep 17 00:00:00 2001 From: Hiroshi Inoue Date: Mon, 10 Apr 2000 00:45:42 +0000 Subject: [PATCH] Fix an Assert bug(was my fault) pointed out by Tom Lane. --- src/backend/storage/lmgr/proc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 5e169114c3..82b40a333c 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.70 2000/02/24 04:36:01 inoue Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.71 2000/04/10 00:45:42 inoue Exp $ * *------------------------------------------------------------------------- */ @@ -47,7 +47,7 @@ * This is so that we can support more backends. (system-wide semaphore * sets run out pretty fast.) -ay 4/95 * - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.70 2000/02/24 04:36:01 inoue Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.71 2000/04/10 00:45:42 inoue Exp $ */ #include #include @@ -493,7 +493,12 @@ void SetWaitingForLock(bool waiting) lockWaiting = waiting; if (lockWaiting) { - Assert(MyProc->links.next != INVALID_OFFSET); + /* The lock was already released ? */ + if (MyProc->links.next == INVALID_OFFSET) + { + lockWaiting = false; + return; + } if (QueryCancel) /* cancel request pending */ { if (GetOffWaitqueue(MyProc)) -- 2.40.0