| 4036 | } |
| 4037 | |
| 4038 | void |
| 4039 | soisdisconnecting(struct socket *so) |
| 4040 | { |
| 4041 | |
| 4042 | SOCK_LOCK(so); |
| 4043 | so->so_state &= ~SS_ISCONNECTING; |
| 4044 | so->so_state |= SS_ISDISCONNECTING; |
| 4045 | |
| 4046 | if (!SOLISTENING(so)) { |
| 4047 | SOCKBUF_LOCK(&so->so_rcv); |
| 4048 | socantrcvmore_locked(so); |
| 4049 | SOCKBUF_LOCK(&so->so_snd); |
| 4050 | socantsendmore_locked(so); |
| 4051 | } |
| 4052 | SOCK_UNLOCK(so); |
| 4053 | wakeup(&so->so_timeo); |
| 4054 | } |
| 4055 | |
| 4056 | void |
| 4057 | soisdisconnected(struct socket *so) |
no test coverage detected