Date: Tue, 20 Apr 1999 11:21:21 +0200 (SAST) From: Graham Wheeler <gram@cdsec.com> To: hackers@freebsd.org Subject: Using select() to implement a delay Message-ID: <199904200921.LAA09941@cdsec.com>
next in thread | raw e-mail | index | archive | help
Hi all
I have an interesting problem. I have a routine to implement delays:
void Sleep(int secs, int usecs = 0)
{
struct timeval tv;
tv.tv_sec = secs;
tv.tv_usec = usecs;
(void)select(0, 0, 0, 0, &tv);
}
I am using this both because it gives better resolution than sleep(),
and also because it doesn't require the use of SIGALRM, which I am
using elsewhere.
On my development machine, Sleep(60) does exactly what is expected. On
my clients machine, Sleep(60) returns immediately. Both are running
FreeBSD 2.2.7. I don't have access to the clients machine, which is
in another city, and has no development environment, so I can't run gdb,
although it may not give away anything in any case.
Does anyone have any ideas why the one works and the other doesn't?
TIA
gram
--
Dr Graham Wheeler E-mail: gram@cdsec.com
Citadel Data Security Phone: +27(21)423-6065/6/7
Firewalls/Virtual Private Networks Fax: +27(21)24-3656
Internet/Intranet Network Specialists
Data Security Products WWW: http://www.cdsec.com/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904200921.LAA09941>
