-extern class NativeSocketAcceptResult `{ S_ACCEPT_RESULT* `}
- new (socket: NativeSocket, addrIn: NativeSocketAddrIn) `{
- S_ACCEPT_RESULT *sar = NULL;
- sar = malloc(sizeof(S_ACCEPT_RESULT));
- sar->s_desc = *socket;
- sar->addr_in = *addrIn;
- return sar;
+ # Set wether this socket is non blocking
+ fun non_blocking=(value: Bool) `{
+ int flags = fcntl(*recv, F_GETFL, 0);
+ if (flags == -1) flags = 0;
+
+ if (value) {
+ flags = flags | O_NONBLOCK;
+ } else if (flags & O_NONBLOCK) {
+ flags = flags - O_NONBLOCK;
+ } else {
+ return;
+ }
+ fcntl(*recv, F_SETFL, flags);