|
@@ -33,7 +33,7 @@ extern int __socketcall(int call, unsigned long *args) attribute_hidden;
|
|
|
#define SYS_RECVMSG 17
|
|
|
#endif
|
|
|
|
|
|
-#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
+#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
#include <sysdep-cancel.h>
|
|
|
#include <pthreadP.h>
|
|
|
#else
|
|
@@ -53,7 +53,7 @@ int __libc_accept(int s, struct sockaddr *addr, socklen_t * addrlen)
|
|
|
args[0] = s;
|
|
|
args[1] = (unsigned long) addr;
|
|
|
args[2] = (unsigned long) addrlen;
|
|
|
-
|
|
|
+
|
|
|
if (SINGLE_THREAD_P)
|
|
|
return __socketcall(SYS_ACCEPT, args);
|
|
|
|
|
@@ -62,8 +62,8 @@ int __libc_accept(int s, struct sockaddr *addr, socklen_t * addrlen)
|
|
|
int result = __socketcall(SYS_ACCEPT, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
-
|
|
|
+#endif
|
|
|
+
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_accept,accept)
|
|
@@ -101,15 +101,15 @@ int __libc_connect(int sockfd, const struct sockaddr *saddr, socklen_t addrlen)
|
|
|
args[1] = (unsigned long) saddr;
|
|
|
args[2] = addrlen;
|
|
|
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return __socketcall(SYS_CONNECT, args);
|
|
|
-
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return __socketcall(SYS_CONNECT, args);
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_CONNECT, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_connect,connect)
|
|
@@ -200,16 +200,16 @@ ssize_t __libc_recv(int sockfd, __ptr_t buffer, size_t len, int flags)
|
|
|
args[1] = (unsigned long) buffer;
|
|
|
args[2] = len;
|
|
|
args[3] = flags;
|
|
|
-
|
|
|
+
|
|
|
if (SINGLE_THREAD_P)
|
|
|
return (__socketcall(SYS_RECV, args));
|
|
|
-
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_RECV, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#elif defined(__NR_recvfrom)
|
|
|
ssize_t __libc_recv(int sockfd, __ptr_t buffer, size_t len, int flags)
|
|
@@ -241,15 +241,15 @@ ssize_t __libc_recvfrom(int sockfd, __ptr_t buffer, size_t len, int flags,
|
|
|
args[4] = (unsigned long) to;
|
|
|
args[5] = (unsigned long) tolen;
|
|
|
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return (__socketcall(SYS_RECVFROM, args));
|
|
|
-
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return (__socketcall(SYS_RECVFROM, args));
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_RECVFROM, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_recvfrom,recvfrom)
|
|
@@ -269,16 +269,16 @@ ssize_t __libc_recvmsg(int sockfd, struct msghdr *msg, int flags)
|
|
|
args[0] = sockfd;
|
|
|
args[1] = (unsigned long) msg;
|
|
|
args[2] = flags;
|
|
|
-
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return (__socketcall(SYS_RECVMSG, args));
|
|
|
-
|
|
|
+
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return (__socketcall(SYS_RECVMSG, args));
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_RECVMSG, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_recvmsg,recvmsg)
|
|
@@ -300,16 +300,16 @@ ssize_t __libc_send(int sockfd, const void *buffer, size_t len, int flags)
|
|
|
args[1] = (unsigned long) buffer;
|
|
|
args[2] = len;
|
|
|
args[3] = flags;
|
|
|
-
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return (__socketcall(SYS_SEND, args));
|
|
|
-
|
|
|
+
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return (__socketcall(SYS_SEND, args));
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_SEND, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#elif defined(__NR_sendto)
|
|
|
ssize_t __libc_send(int sockfd, const void *buffer, size_t len, int flags)
|
|
@@ -334,16 +334,16 @@ ssize_t __libc_sendmsg(int sockfd, const struct msghdr *msg, int flags)
|
|
|
args[0] = sockfd;
|
|
|
args[1] = (unsigned long) msg;
|
|
|
args[2] = flags;
|
|
|
-
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return (__socketcall(SYS_SENDMSG, args));
|
|
|
-
|
|
|
+
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return (__socketcall(SYS_SENDMSG, args));
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_SENDMSG, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_sendmsg,sendmsg)
|
|
@@ -369,16 +369,16 @@ ssize_t __libc_sendto(int sockfd, const void *buffer, size_t len, int flags,
|
|
|
args[3] = flags;
|
|
|
args[4] = (unsigned long) to;
|
|
|
args[5] = tolen;
|
|
|
-
|
|
|
-if (SINGLE_THREAD_P)
|
|
|
- return (__socketcall(SYS_SENDTO, args));
|
|
|
-
|
|
|
+
|
|
|
+ if (SINGLE_THREAD_P)
|
|
|
+ return (__socketcall(SYS_SENDTO, args));
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_THREADS_NATIVE__
|
|
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
|
|
int result = __socketcall(SYS_SENDTO, args);
|
|
|
LIBC_CANCEL_RESET (oldtype);
|
|
|
return result;
|
|
|
-#endif
|
|
|
+#endif
|
|
|
}
|
|
|
#endif
|
|
|
weak_alias(__libc_sendto,sendto)
|