Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/uipc_usrreq.c
Show First 20 Lines • Show All 1,054 Lines • ▼ Show 20 Lines | case SOCK_DGRAM: | ||||
so2 = unp2->unp_socket; | so2 = unp2->unp_socket; | ||||
SOCKBUF_LOCK(&so2->so_rcv); | SOCKBUF_LOCK(&so2->so_rcv); | ||||
if (sbappendaddr_locked(&so2->so_rcv, from, m, | if (sbappendaddr_locked(&so2->so_rcv, from, m, | ||||
control)) { | control)) { | ||||
sorwakeup_locked(so2); | sorwakeup_locked(so2); | ||||
m = NULL; | m = NULL; | ||||
control = NULL; | control = NULL; | ||||
} else { | } else { | ||||
SOCKBUF_UNLOCK(&so2->so_rcv); | soroverflow_locked(so2); | ||||
error = ENOBUFS; | error = ENOBUFS; | ||||
} | } | ||||
if (nam != NULL) | if (nam != NULL) | ||||
unp_disconnect(unp, unp2); | unp_disconnect(unp, unp2); | ||||
else | else | ||||
unp_pcb_unlock_pair(unp, unp2); | unp_pcb_unlock_pair(unp, unp2); | ||||
break; | break; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,925 Lines • Show Last 20 Lines |