diff options
Diffstat (limited to 'sys/netinet/raw_ip.c')
-rw-r--r-- | sys/netinet/raw_ip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 63a6245..b311c74 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -671,9 +671,11 @@ rip_disconnect(struct socket *so) INP_INFO_WLOCK(&ripcbinfo); INP_LOCK(inp); inp->inp_faddr.s_addr = INADDR_ANY; + SOCK_LOCK(so); + so->so_state &= ~SS_ISCONNECTED; + SOCK_UNLOCK(so); INP_UNLOCK(inp); INP_INFO_WUNLOCK(&ripcbinfo); - so->so_state &= ~SS_ISCONNECTED; return (0); } |