skb_recv_datagram(9)

NAME

skb_recv_datagram - Receive a datagram skbuff

SYNOPSIS

struct  sk_buff  *  skb_recv_datagram(struct  sock  *  sk,
unsigned flags, int noblock, int * err);

ARGUMENTS

sk
socket
flags
MSG_ flags
noblock
blocking operation?
err
error code returned

DESCRIPTION

Get a datagram skbuff, understands the peeking, nonblock
ing wakeups and possible races. This replaces identical code in
packet, raw and udp, as well as the IPX AX.25 and Appletalk. It
also finally fixes the long standing peek and read race for data
gram sockets. If you alter this routine remember it must be re
entrant.
This function will lock the socket if a skb is returned,
so the caller needs to unlock the socket in that case (usually by
calling skb_free_datagram)
* It does not lock socket since today. This function is *
free of race conditions. This measure should/can improve * sig
nificantly datagram socket latencies at high loads, * when data
copying to user space takes lots of time. * (BTW I've just killed
the last cli in IP/IPv6/core/netlink/packet * 8) Great win.) *
--ANK (980729)
The order of the tests when we find no data waiting are
specified quite explicitly by POSIX 1003.1g, don't change them
without having the standard around please.

COPYRIGHT

Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout