aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-12-29 18:36:29 +0000
committerBruce Momjian <bruce@momjian.us>1998-12-29 18:36:29 +0000
commit06c120e67e10c05c5627f8a9969316b3a5b3cc22 (patch)
tree7a37d8f2cc2f39360e7d7a357a07e5015710b284 /src
parent2b8736bac64e4b628d864d24f4a0a7a9c68d3e71 (diff)
downloadpostgresql-06c120e67e10c05c5627f8a9969316b3a5b3cc22.tar.gz
postgresql-06c120e67e10c05c5627f8a9969316b3a5b3cc22.zip
Update for deadlock timer.
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/lmgr/proc.c21
1 files 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,