| 935 | } |
| 936 | |
| 937 | static void |
| 938 | rip_dodisconnect(struct socket *so, struct inpcb *inp) |
| 939 | { |
| 940 | struct inpcbinfo *pcbinfo; |
| 941 | |
| 942 | pcbinfo = inp->inp_pcbinfo; |
| 943 | INP_INFO_WLOCK(pcbinfo); |
| 944 | INP_WLOCK(inp); |
| 945 | rip_delhash(inp); |
| 946 | inp->inp_faddr.s_addr = INADDR_ANY; |
| 947 | rip_inshash(inp); |
| 948 | SOCK_LOCK(so); |
| 949 | so->so_state &= ~SS_ISCONNECTED; |
| 950 | SOCK_UNLOCK(so); |
| 951 | INP_WUNLOCK(inp); |
| 952 | INP_INFO_WUNLOCK(pcbinfo); |
| 953 | } |
| 954 | |
| 955 | static void |
| 956 | rip_abort(struct socket *so) |
no test coverage detected