Commit 496ea7a8 authored by Tom Lane's avatar Tom Lane

At least on HPUX, select with delay.tv_sec = 0 and delay.tv_usec = 1000000

does not lead to a one-second delay, but to an immediate EINVAL failure.
This causes CHECKPOINT to crash with s_lock_stuck much too quickly :-(.
Fix by breaking down the requested wait div/mod 1e6.
parent 3460181c
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.33 2001/02/18 04:39:42 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.34 2001/02/24 22:42:45 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -91,8 +91,8 @@ s_lock_sleep(unsigned spins, int timeout, int microsec, ...@@ -91,8 +91,8 @@ s_lock_sleep(unsigned spins, int timeout, int microsec,
if (microsec > 0) if (microsec > 0)
{ {
delay.tv_sec = 0; delay.tv_sec = microsec / 1000000;
delay.tv_usec = microsec; delay.tv_usec = microsec % 1000000;
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment