aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi Inoue <inoue@tpf.co.jp>2000-04-10 00:45:42 +0000
committerHiroshi Inoue <inoue@tpf.co.jp>2000-04-10 00:45:42 +0000
commit8a5851880ebfe8a517dd99e121df03cd6ad6760f (patch)
treeac3e36ad672581a4977493735d09c3ca69520bfc
parent8d04225a192e6ec63a890ec6dcde5967db257fe5 (diff)
downloadpostgresql-8a5851880ebfe8a517dd99e121df03cd6ad6760f.tar.gz
postgresql-8a5851880ebfe8a517dd99e121df03cd6ad6760f.zip
Fix an Assert bug(was my fault) pointed out by Tom Lane.
-rw-r--r--src/backend/storage/lmgr/proc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 5e169114c3e..82b40a333ce 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 <sys/time.h>
#include <unistd.h>
@@ -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))