if SOCK_NONBLOCK is defined, use it instead of socket+fcntl

master
leitner 10 years ago
parent a255cebc57
commit 35f5a9692a

@ -26,6 +26,7 @@
more constness for stralloc and buffer more constness for stralloc and buffer
mmap_read/mmap_shared on zero length files no longer fail but return a mmap_read/mmap_shared on zero length files no longer fail but return a
zero length buffer zero length buffer
if SOCK_NONBLOCK is defined, use it instead of socket+fcntl
0.29: 0.29:
save 8 bytes in taia.h for 64-bit systems save 8 bytes in taia.h for 64-bit systems

@ -1,10 +1,19 @@
#include <sys/types.h>
#ifndef __MINGW32__
#include <unistd.h> #include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#endif
#include "socket.h" #include "socket.h"
#include "ndelay.h" #include "ndelay.h"
int socket_tcp4(void) { int socket_tcp4(void) {
#ifdef SOCK_NONBLOCK
return socket(PF_INET,SOCK_STREAM|SOCK_NONBLOCK,IPPROTO_TCP);
#else
int s=socket_tcp4b(); int s=socket_tcp4b();
if (s==-1) return -1; if (s==-1) return -1;
if (ndelay_on(s) == -1) { close(s); return -1; } if (ndelay_on(s) == -1) { close(s); return -1; }
return s; return s;
#endif
} }

@ -1,10 +1,21 @@
#include <sys/types.h>
#ifndef __MINGW32__
#include <unistd.h> #include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#endif
#include <errno.h>
#include "haveip6.h"
#include "socket.h" #include "socket.h"
#include "ndelay.h" #include "ndelay.h"
int socket_tcp6(void) { int socket_tcp6(void) {
#if defined(LIBC_HAS_IP6) && defined(SOCK_NONBLOCK)
return socket(PF_INET6,SOCK_STREAM|SOCK_NONBLOCK,IPPROTO_TCP);
#else
int s=socket_tcp6b(); int s=socket_tcp6b();
if (s==-1) return -1; if (s==-1) return -1;
if (ndelay_on(s) == -1) { close(s); return -1; } if (ndelay_on(s) == -1) { close(s); return -1; }
return s; return s;
#endif
} }

Loading…
Cancel
Save