Make recv block only the calling thread, not the entire process.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@451 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c
index b373e10..3220cca 100644
--- a/coregrind/vg_libpthread.c
+++ b/coregrind/vg_libpthread.c
@@ -1690,6 +1690,8 @@
int recv(int s, void *buf, size_t len, int flags)
{
__my_pthread_testcancel();
+ wait_for_fd_to_be_readable_or_erring(s);
+ __my_pthread_testcancel();
return __libc_recv(s, buf, len, flags);
}