Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/udp_usrreq.c
Show First 20 Lines • Show All 371 Lines • ▼ Show 20 Lines | #ifdef INET6 | ||||
} else | } else | ||||
#endif /* INET6 */ | #endif /* INET6 */ | ||||
append_sa = (struct sockaddr *)&udp_in[0]; | append_sa = (struct sockaddr *)&udp_in[0]; | ||||
m_adj(n, off); | m_adj(n, off); | ||||
so = inp->inp_socket; | so = inp->inp_socket; | ||||
SOCKBUF_LOCK(&so->so_rcv); | SOCKBUF_LOCK(&so->so_rcv); | ||||
if (sbappendaddr_locked(&so->so_rcv, append_sa, n, opts) == 0) { | if (sbappendaddr_locked(&so->so_rcv, append_sa, n, opts) == 0) { | ||||
SOCKBUF_UNLOCK(&so->so_rcv); | soroverflow(so); | ||||
m_freem(n); | m_freem(n); | ||||
if (opts) | if (opts) | ||||
m_freem(opts); | m_freem(opts); | ||||
UDPSTAT_INC(udps_fullsock); | UDPSTAT_INC(udps_fullsock); | ||||
} else | } else | ||||
sorwakeup_locked(so); | sorwakeup_locked(so); | ||||
return (0); | return (0); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,405 Lines • Show Last 20 Lines |