diff options
author | Stefano Stabellini <sstabellini@kernel.org> | 2017-10-30 23:41:00 +0100 |
---|---|---|
committer | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2017-10-31 14:05:53 +0100 |
commit | ae0d04052e077ccb71772bf5c7cb1049f4d587d2 (patch) | |
tree | 899cad4c8057bb02218757c7f87a76ee41696c39 /drivers/xen/pvcalls-front.h | |
parent | xen/pvcalls: implement sendmsg (diff) | |
download | linux-ae0d04052e077ccb71772bf5c7cb1049f4d587d2.tar.xz linux-ae0d04052e077ccb71772bf5c7cb1049f4d587d2.zip |
xen/pvcalls: implement recvmsg
Implement recvmsg by copying data from the "in" ring. If not enough data
is available and the recvmsg call is blocking, then wait on the
inflight_conn_req waitqueue. Take the active socket in_mutex so that
only one function can access the ring at any given time.
Signed-off-by: Stefano Stabellini <stefano@aporeto.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: boris.ostrovsky@oracle.com
CC: jgross@suse.com
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'drivers/xen/pvcalls-front.h')
-rw-r--r-- | drivers/xen/pvcalls-front.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/xen/pvcalls-front.h b/drivers/xen/pvcalls-front.h index d937c24c90c3..de24041e9a86 100644 --- a/drivers/xen/pvcalls-front.h +++ b/drivers/xen/pvcalls-front.h @@ -16,5 +16,9 @@ int pvcalls_front_accept(struct socket *sock, int pvcalls_front_sendmsg(struct socket *sock, struct msghdr *msg, size_t len); +int pvcalls_front_recvmsg(struct socket *sock, + struct msghdr *msg, + size_t len, + int flags); #endif |