diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-05-03 05:28:58 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2010-05-03 05:28:58 +0200 |
commit | df2071bd081408318d659cd14a9cf6ff23d874c9 (patch) | |
tree | b31291b5fd4b9f84c629833afbfaa8d431857475 /net/socket.c | |
parent | padata: Dont scale the parallel objects with the cpus (diff) | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 (diff) | |
download | linux-df2071bd081408318d659cd14a9cf6ff23d874c9.tar.xz linux-df2071bd081408318d659cd14a9cf6ff23d874c9.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'net/socket.c')
-rw-r--r-- | net/socket.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c index 769c386bd428..5e8d0af3c0e7 100644 --- a/net/socket.c +++ b/net/socket.c @@ -87,6 +87,7 @@ #include <linux/wireless.h> #include <linux/nsproxy.h> #include <linux/magic.h> +#include <linux/slab.h> #include <asm/uaccess.h> #include <asm/unistd.h> @@ -2135,6 +2136,10 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen, break; ++datagrams; + /* MSG_WAITFORONE turns on MSG_DONTWAIT after one packet */ + if (flags & MSG_WAITFORONE) + flags |= MSG_DONTWAIT; + if (timeout) { ktime_get_ts(timeout); *timeout = timespec_sub(end_time, *timeout); |