Hi Bob,

thanks for the response. Setting the socket to non-blocking eats the CPU.
I'll probably use select() or poll() with a single fd then.

kind regards,

Dimitri

On 12/08/16 14:37, Bob Bishop wrote:
Hi,

On 8 Dec 2016, at 12:41, Dimitri Staessens <[email protected]> 
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
[email protected]





--
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

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to