|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.45 1998/12/29 18:29:18 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.46 1998/12/29 18:36:29 momjian Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
|
46 | 46 | *This is so that we can support more backends. (system-wide semaphore
|
47 | 47 | *sets run out pretty fast.) -ay 4/95
|
48 | 48 | *
|
49 |
| - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.45 1998/12/29 18:29:18 momjian Exp $ |
| 49 | + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.46 1998/12/29 18:36:29 momjian Exp $ |
50 | 50 | */
|
51 | 51 | #include<sys/time.h>
|
52 | 52 | #include<unistd.h>
|
@@ -520,20 +520,19 @@ ProcSleep(PROC_QUEUE *waitQueue,/* lock->waitProcs */
|
520 | 520 |
|
521 | 521 | do
|
522 | 522 | {
|
523 |
| -intexpired; |
524 |
| - |
525 | 523 | MyProc->errType=NO_ERROR;/* reset flag after deadlock check */
|
526 | 524 |
|
527 | 525 | if (deadlock_checked== false)
|
528 |
| -expired=sleep(DeadlockCheckTimer ?DeadlockCheckTimer :DEADLOCK_CHECK_TIMER); |
529 |
| -else |
530 |
| -pause(); |
531 |
| - |
532 |
| -if (expired==0&&deadlock_checked== false) |
533 | 526 | {
|
534 |
| -HandleDeadLock(); |
535 |
| -deadlock_checked= true; |
| 527 | +if (sleep(DeadlockCheckTimer ?DeadlockCheckTimer :DEADLOCK_CHECK_TIMER) |
| 528 | +==0/* no signal interruption */ ) |
| 529 | +{ |
| 530 | +HandleDeadLock(); |
| 531 | +deadlock_checked= true; |
| 532 | +} |
536 | 533 | }
|
| 534 | +else |
| 535 | +pause(); |
537 | 536 |
|
538 | 537 | /* --------------
|
539 | 538 | * if someone wakes us between SpinRelease and IpcSemaphoreLock,
|
|