Date: Fri, 8 Aug 2008 10:09:55 +0200 From: Pieter de Goeje <pieter@degoeje.nl> To: freebsd-hackers@freebsd.org Cc: "Carlos A. M. dos Santos" <unixmania@gmail.com>, Nate Eldredge <neldredge@math.ucsd.edu>, Chuck Robey <chuckr@telenix.org> Subject: Re: read with timeout ?? Message-ID: <200808081009.56521.pieter@degoeje.nl> In-Reply-To: <e71790db0808071950j32e196e4o42fab1aeb62ab8a4@mail.gmail.com> References: <489B9D4D.4010009@telenix.org> <Pine.GSO.4.64.0808071813530.11980@zeno.ucsd.edu> <e71790db0808071950j32e196e4o42fab1aeb62ab8a4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 08 August 2008, Carlos A. M. dos Santos wrote: > On Thu, Aug 7, 2008 at 10:14 PM, Nate Eldredge <neldredge@math.ucsd.edu> wrote: > > On Thu, 7 Aug 2008, Chuck Robey wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- > >> Hash: SHA1 > >> > >> I have my head lost in a code problem. I just hit a point where I need > >> to do a > >> read from an fd, but I need to associate it with a timeout, on the order > >> of 1 > >> second, something like that. I had the feeling that there's a function > >> in FreeBSD's libc that makes that simple, but I forget the function > >> name. If anyone can remember something like what I'm talking about, I > >> sure would appreciate a function name. I can figure out how it works, > >> if I could only > >> dredge up that name. > > > > man 2 select > > If the fd is a socket then you can also use setsockopt(2) to set > SO_RCVTIMEO and check for EWOULDBLOCK (same as EAGAIN) upon read(2) or > recv(2) errors. The net effect is the same of using select but the > syntax is simpler, IMO. I think poll(2) is also simpler than select for this purpose. -- Pieter de Goeje
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808081009.56521.pieter>