recv.c.patch   [plain text]


--- recv.c.orig	2006-09-16 19:12:41.000000000 -0700
+++ recv.c	2006-09-17 00:11:11.000000000 -0700
@@ -44,11 +44,21 @@
 #include <stddef.h>
 #include "un-namespace.h"
 
+#ifdef VARIANT_CANCELABLE
+ssize_t __recvfrom(int, void *, size_t, int, struct sockaddr * __restrict, socklen_t * __restrict);
+#else /* !VARIANT_CANCELABLE */
+ssize_t __recvfrom_nocancel(int, void *, size_t, int, struct sockaddr * __restrict, socklen_t * __restrict);
+#endif /* VARIANT_CANCELABLE */
+
 ssize_t
 recv(s, buf, len, flags)
 	int s, flags;
 	size_t len;
 	void *buf;
 {
-	return (_recvfrom(s, buf, len, flags, NULL, 0));
+#ifdef VARIANT_CANCELABLE
+	return (__recvfrom(s, buf, len, flags, NULL, 0));
+#else /* !VARIANT_CANCELABLE */
+	return (__recvfrom_nocancel(s, buf, len, flags, NULL, 0));
+#endif /* VARIANT_CANCELABLE */
 }