Rechercher une page de manuel
__skb_recv_datagram
Langue: en
Version: June 2009 (debian - 07/07/09)
Section: 9 (Appels noyau Linux)
NAME
__skb_recv_datagram - Receive a datagram skbuffSYNOPSIS
- struct sk_buff * __skb_recv_datagram(struct sock * sk, unsigned flags, int * peeked, int * err);
ARGUMENTS
sk
- socket
flags
- MSG_ flags
peeked
- returns non-zero if this packet has been seen before
err
- error code returned
DESCRIPTION
Get a datagram skbuff, understands the peeking, nonblocking 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 datagram 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 * significantly 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
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre