Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/uipc_usrreq.c
| Show First 20 Lines • Show All 3,153 Lines • ▼ Show 20 Lines | unp_soisdisconnected(struct socket *so) | ||||
| MPASS(!SOLISTENING(so)); | MPASS(!SOLISTENING(so)); | ||||
| MPASS((so->so_state & (SS_ISCONNECTING | SS_ISDISCONNECTING | | MPASS((so->so_state & (SS_ISCONNECTING | SS_ISDISCONNECTING | | ||||
| SS_ISDISCONNECTED)) == 0); | SS_ISDISCONNECTED)) == 0); | ||||
| MPASS(so->so_state & SS_ISCONNECTED); | MPASS(so->so_state & SS_ISCONNECTED); | ||||
| so->so_state |= SS_ISDISCONNECTED; | so->so_state |= SS_ISDISCONNECTED; | ||||
| so->so_state &= ~SS_ISCONNECTED; | so->so_state &= ~SS_ISCONNECTED; | ||||
| so->so_rcv.uxst_peer = NULL; | so->so_rcv.uxst_peer = NULL; | ||||
| selwakeuppri(&so->so_wrsel, PSOCK); | |||||
| KNOTE_LOCKED(&so->so_snd.sb_sel->si_note, 0); | |||||
| socantrcvmore_locked(so); | socantrcvmore_locked(so); | ||||
| } | } | ||||
| static void | static void | ||||
| unp_disconnect(struct unpcb *unp, struct unpcb *unp2) | unp_disconnect(struct unpcb *unp, struct unpcb *unp2) | ||||
| { | { | ||||
| struct socket *so, *so2; | struct socket *so, *so2; | ||||
| struct mbuf *m = NULL; | struct mbuf *m = NULL; | ||||
| ▲ Show 20 Lines • Show All 1,447 Lines • Show Last 20 Lines | |||||