Lines Matching refs:sk
41 struct sock *sk;
44 while ((sk = smc_accept_dequeue(parent, NULL)))
45 smc_close_non_accepted(sk);
52 struct sock *sk = &smc->sk;
61 add_wait_queue(sk_sleep(sk), &wait);
65 rc = sk_wait_event(sk, &timeout,
67 READ_ONCE(sk->sk_err) == ECONNABORTED ||
68 READ_ONCE(sk->sk_err) == ECONNRESET ||
74 remove_wait_queue(sk_sleep(sk), &wait);
82 smc->sk.sk_state_change(&smc->sk);
113 struct sock *sk = &smc->sk;
115 release_sock(sk);
117 sock_put(sk);
119 lock_sock(sk);
127 struct sock *sk = &smc->sk;
130 if (sk->sk_state != SMC_INIT && smc->clcsock && smc->clcsock->sk) {
131 sk->sk_err = ECONNABORTED;
132 if (smc->clcsock && smc->clcsock->sk)
133 tcp_abort(smc->clcsock->sk, ECONNABORTED);
135 switch (sk->sk_state) {
139 sk->sk_state = SMC_PEERABORTWAIT;
141 if (sk->sk_state != SMC_PEERABORTWAIT)
143 sk->sk_state = SMC_CLOSED;
144 sock_put(sk); /* (postponed) passive closing */
149 sk->sk_state = SMC_PEERABORTWAIT;
151 if (sk->sk_state != SMC_PEERABORTWAIT)
153 sk->sk_state = SMC_CLOSED;
156 sock_put(sk); /* passive closing */
160 sk->sk_state = SMC_PEERABORTWAIT;
162 if (sk->sk_state != SMC_PEERABORTWAIT)
164 sk->sk_state = SMC_CLOSED;
174 smc_sock_set_flag(sk, SOCK_DEAD);
175 sk->sk_state_change(sk);
178 release_sock(sk);
180 lock_sock(sk);
195 struct sock *sk = &smc->sk;
202 0 : sock_flag(sk, SOCK_LINGER) ?
203 sk->sk_lingertime : SMC_MAX_STREAM_WAIT_TIMEOUT;
205 old_state = sk->sk_state;
207 switch (sk->sk_state) {
209 sk->sk_state = SMC_CLOSED;
212 sk->sk_state = SMC_CLOSED;
213 sk->sk_state_change(sk); /* wake up accept */
214 if (smc->clcsock && smc->clcsock->sk) {
215 smc->clcsock->sk->sk_data_ready = smc->clcsk_data_ready;
216 smc->clcsock->sk->sk_user_data = NULL;
219 smc_close_cleanup_listen(sk);
220 release_sock(sk);
222 lock_sock(sk);
226 release_sock(sk);
228 lock_sock(sk);
229 if (sk->sk_state == SMC_ACTIVE) {
232 sk->sk_state = SMC_PEERCLOSEWAIT1;
237 if (smc->clcsock && smc->clcsock->sk) {
254 sk->sk_state = SMC_CLOSED;
260 release_sock(sk);
262 lock_sock(sk);
263 if (sk->sk_state != SMC_APPCLOSEWAIT1 &&
264 sk->sk_state != SMC_APPCLOSEWAIT2)
270 sk->sk_state = SMC_CLOSED;
271 sock_put(sk); /* postponed passive closing */
274 sk->sk_state = SMC_PEERFINCLOSEWAIT;
291 sk->sk_state = SMC_CLOSED;
294 sk->sk_state = SMC_CLOSED;
301 if (old_state != sk->sk_state)
302 sk->sk_state_change(sk);
310 struct sock *sk = &smc->sk;
312 switch (sk->sk_state) {
316 sk->sk_state = SMC_PROCESSABORT;
317 sock_put(sk); /* passive closing */
320 sk->sk_state = SMC_PROCESSABORT;
327 sk->sk_state = SMC_PROCESSABORT;
329 sk->sk_state = SMC_CLOSED;
330 sock_put(sk); /* passive closing */
334 sk->sk_state = SMC_CLOSED;
335 sock_put(sk); /* passive closing */
338 sk->sk_state = SMC_CLOSED;
358 struct sock *sk = &smc->sk;
361 lock_sock(sk);
362 old_state = sk->sk_state;
368 release_sock(&smc->sk);
370 lock_sock(&smc->sk);
374 switch (sk->sk_state) {
376 sk->sk_state = SMC_APPCLOSEWAIT1;
379 sk->sk_state = SMC_APPCLOSEWAIT1;
386 sk->sk_state = SMC_PEERCLOSEWAIT2;
392 if (sock_flag(sk, SOCK_DEAD) &&
395 sk->sk_state = SMC_CLOSED;
398 sk->sk_state = SMC_APPFINCLOSEWAIT;
400 sock_put(sk); /* passive closing */
404 sk->sk_state = SMC_CLOSED;
405 sock_put(sk); /* passive closing */
423 sk->sk_data_ready(sk); /* wakeup blocked rcvbuf consumers */
424 sk->sk_write_space(sk); /* wakeup blocked sndbuf producers */
426 if (old_state != sk->sk_state) {
427 sk->sk_state_change(sk);
428 if ((sk->sk_state == SMC_CLOSED) &&
429 (sock_flag(sk, SOCK_DEAD) || !sk->sk_socket)) {
435 release_sock(sk);
438 sock_put(sk); /* sock_hold done by schedulers of close_work */
444 struct sock *sk = &smc->sk;
450 0 : sock_flag(sk, SOCK_LINGER) ?
451 sk->sk_lingertime : SMC_MAX_STREAM_WAIT_TIMEOUT;
453 old_state = sk->sk_state;
455 switch (sk->sk_state) {
458 release_sock(sk);
460 lock_sock(sk);
461 if (sk->sk_state != SMC_ACTIVE)
465 sk->sk_state = SMC_PEERCLOSEWAIT1;
471 release_sock(sk);
473 lock_sock(sk);
474 if (sk->sk_state != SMC_APPCLOSEWAIT1)
478 sk->sk_state = SMC_APPCLOSEWAIT2;
491 if (old_state != sk->sk_state)
492 sk->sk_state_change(sk);