Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> >               /*
> >                *     select() may modify timeout argument on some platforms so
> > !              *    use copy.
> > !              *    XXX Do we really want to do that?  If select() returns
> > !              *    the number of seconds remaining, we are resetting
> > !              *    the timeout to its original value.  This will yeild
> > !              *    incorrect timings when select() is interrupted.
> > !              *    bjm 2002-10-14
> >                */
> >               tmp_timeout = *timeout;
> >               ptmp_timeout = &tmp_timeout;
> 
> 
> Actually, now that I look at this, the API for PQwaitTimed is wrong
> after all.  The right way to implement this is for the caller to pass in
> finish_time (or some indication that no timeout is wanted).  Evaluation
> of the time left to wait should happen inside this retry loop.  That
> way, you get the right behavior (plus or minus one second, anyway)
> independently of whether the platform's select() reduces its timeout
> argument or not.

Yes, you are saying do the time() inside PQwaitTimed(), so we can
properly get new time() values on select() retry.  Yep.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to