Date: Thu, 8 Dec 2016 13:37:44 +0000 From: Bob Bishop <rb@gid.co.uk> To: Dimitri Staessens <dimitri.staessens@intec.ugent.be> Cc: freebsd-bugs@freebsd.org Subject: Re: Call to accept() does not time out when setting SO_RCVTIMEO on a socket Message-ID: <22926F6A-7E4A-49D4-BD54-1E81B1002D61@gid.co.uk> In-Reply-To: <76cee3a4-18d0-1f8c-eda3-e19c496c39b6@intec.ugent.be> References: <76cee3a4-18d0-1f8c-eda3-e19c496c39b6@intec.ugent.be>
index | next in thread | previous in thread | raw e-mail
Hi, > On 8 Dec 2016, at 12:41, Dimitri Staessens <dimitri.staessens@intec.ugent.be> wrote: > > Dear devs, > > I'm trying to get an accept() call to time out using setsockopt. > > On Linux, the example below terminates: > > [dstaesse@phoneutria]$ gcc accept_st.c -o accept_st > [dstaesse@phoneutria]$ ./accept_st > Timeout is 0:100000. > Check is 0:103333. > Accept returned: Resource temporarily unavailable. > Accept returned: Resource temporarily unavailable. > Accept returned: Resource temporarily unavailable. > Bye. > > On FreeBSD 11.0-RELEASE however, it hangs on the accept() forever. accept() doesn’t work like that on *BSD. Set the socket non-blocking and then accept() returns EWOULDBLOCK if there is nothing to accept. > Is this a known issue? > > Thanks for your help, > > Dimitri > > --- example source: > [snip] > -- > Dimitri Staessens > Ghent University - imec > Dept. of Information Technology (INTEC) > Internet Based Communication Networks and Services > Technologiepark 15 > 9052 Zwijnaarde > T: +32 9 331 48 70 > F: +32 9 331 48 99 -- Bob Bishop rb@gid.co.ukhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22926F6A-7E4A-49D4-BD54-1E81B1002D61>
