]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix an Assert bug(was my fault) pointed out by Tom Lane.
authorHiroshi Inoue <inoue@tpf.co.jp>
Mon, 10 Apr 2000 00:45:42 +0000 (00:45 +0000)
committerHiroshi Inoue <inoue@tpf.co.jp>
Mon, 10 Apr 2000 00:45:42 +0000 (00:45 +0000)
src/backend/storage/lmgr/proc.c

index 5e169114c3e0c6b3830d3e0ad1d9edef0b997ea3..82b40a333ce80e0c5f11d2084f31b77719561bc7 100644 (file)
@@ -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))