| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
|---|---|
| To: | "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com> |
| Cc: | Joachim Wieland <joe(at)mcknight(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-patches(at)postgresql(dot)org |
| Subject: | Re: TODO-item: Add sleep() function, remove from regress.c |
| Date: | 2006-01-11 01:02:39 |
| Message-ID: | 43C4592F.6000104@dunslane.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-patches |
Jim C. Nasby wrote:
>On Tue, Jan 10, 2006 at 11:31:13AM +0100, Joachim Wieland wrote:
>
>
>>No, cancelling the sleep works (at least for Unix). Isn't cancelling
>>implemented via a signal that interrupts select() ?
>>
>>Anyway, I've changed it, removing the ~2000s limit is a good point.
>>+ while (secs > 1.0)
>>+ {
>>+ pg_usleep(1000000);
>>+ CHECK_FOR_INTERRUPTS();
>>+ secs -= 1.0;
>>+ }
>>
>>
>
>Won't this result in a call to pg_sleep with a long sleep time ending up
>sleeping noticeably longer than requested?
>
>
Looks like it to me.
Instead of using a counter it might be better to set a target end time
and check that against the value returned from time() or gettimeofday().
cheers
andrew
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mark Kirkwood | 2006-01-11 02:18:49 | Re: Summary table trigger example race condition |
| Previous Message | Jim C. Nasby | 2006-01-11 00:44:17 | Re: TODO-item: Add sleep() function, remove from regress.c |