From 06c120e67e10c05c5627f8a9969316b3a5b3cc22 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Tue, 29 Dec 1998 18:36:29 +0000
Subject: [PATCH] Update for deadlock timer.

---
 src/backend/storage/lmgr/proc.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 095ac87a06f..0a36c618473 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.45 1998/12/29 18:29:18 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.46 1998/12/29 18:36:29 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -46,7 +46,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.45 1998/12/29 18:29:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.46 1998/12/29 18:36:29 momjian Exp $
  */
 #include <sys/time.h>
 #include <unistd.h>
@@ -520,20 +520,19 @@ ProcSleep(PROC_QUEUE *waitQueue,/* lock->waitProcs */
 
 	do
 	{
-		int expired;
-		
 		MyProc->errType = NO_ERROR;		/* reset flag after deadlock check */
 
 		if (deadlock_checked == false)
-			expired = sleep(DeadlockCheckTimer ? DeadlockCheckTimer : DEADLOCK_CHECK_TIMER);
-		else
-			pause();
-
-		if (expired == 0 && deadlock_checked == false)
 		{
-			HandleDeadLock();
-			deadlock_checked = true;
+			if (sleep(DeadlockCheckTimer ? DeadlockCheckTimer : DEADLOCK_CHECK_TIMER)
+				== 0 /* no signal interruption */ )
+			{
+				HandleDeadLock();
+				deadlock_checked = true;
+			}
 		}
+		else
+			pause();
 		
 		/* --------------
 		 * if someone wakes us between SpinRelease and IpcSemaphoreLock,
-- 
GitLab