Lines Matching defs:tcp_time_wait
58 tcp_time_wait_remove(tcp_t *tcp, tcp_squeue_priv_t *tcp_time_wait)
62 if (tcp_time_wait == NULL) {
63 tcp_time_wait = *((tcp_squeue_priv_t **)
65 mutex_enter(&tcp_time_wait->tcp_time_wait_lock);
68 ASSERT(MUTEX_HELD(&tcp_time_wait->tcp_time_wait_lock));
76 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);
82 if (tcp == tcp_time_wait->tcp_time_wait_head) {
84 tcp_time_wait->tcp_time_wait_head = tcp->tcp_time_wait_next;
85 if (tcp_time_wait->tcp_time_wait_head != NULL) {
86 tcp_time_wait->tcp_time_wait_head->tcp_time_wait_prev =
89 tcp_time_wait->tcp_time_wait_tail = NULL;
91 } else if (tcp == tcp_time_wait->tcp_time_wait_tail) {
93 tcp_time_wait->tcp_time_wait_tail = tcp->tcp_time_wait_prev;
94 ASSERT(tcp_time_wait->tcp_time_wait_tail != NULL);
95 tcp_time_wait->tcp_time_wait_tail->tcp_time_wait_next = NULL;
109 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);
122 tcp_squeue_priv_t *tcp_time_wait =
152 TCP_DBGSTAT(tcps, tcp_time_wait);
154 mutex_enter(&tcp_time_wait->tcp_time_wait_lock);
155 if (tcp_time_wait->tcp_time_wait_head == NULL) {
156 ASSERT(tcp_time_wait->tcp_time_wait_tail == NULL);
157 tcp_time_wait->tcp_time_wait_head = tcp;
165 if (tcp_time_wait->tcp_time_wait_tid == 0) {
166 tcp_time_wait->tcp_time_wait_tid =
177 * tcp_time_wait list at the same time.
179 ASSERT(tcp_time_wait->tcp_time_wait_tid != 0 ||
180 tcp_time_wait->tcp_time_wait_running);
181 ASSERT(tcp_time_wait->tcp_time_wait_tail != NULL);
182 ASSERT(tcp_time_wait->tcp_time_wait_tail->tcp_state ==
184 tcp_time_wait->tcp_time_wait_tail->tcp_time_wait_next = tcp;
185 tcp->tcp_time_wait_prev = tcp_time_wait->tcp_time_wait_tail;
188 tcp_time_wait->tcp_time_wait_tail = tcp;
189 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);
228 * tcp_time_wait remains global across all stacks.
244 tcp_squeue_priv_t *tcp_time_wait =
247 mutex_enter(&tcp_time_wait->tcp_time_wait_lock);
248 tcp_time_wait->tcp_time_wait_tid = 0;
250 tcp_time_wait->tcp_time_wait_running = B_TRUE;
253 if (tcp_time_wait->tcp_free_list != NULL &&
254 tcp_time_wait->tcp_free_list->tcp_in_free_list == B_TRUE) {
256 while ((tcp = tcp_time_wait->tcp_free_list) != NULL) {
257 tcp_time_wait->tcp_free_list = tcp->tcp_time_wait_next;
259 tcp_time_wait->tcp_free_list_cnt--;
263 ASSERT(tcp_time_wait->tcp_free_list_cnt == 0);
272 while ((tcp = tcp_time_wait->tcp_time_wait_head) != NULL) {
280 removed = tcp_time_wait_remove(tcp, tcp_time_wait);
320 if (tcp_time_wait->tcp_free_list_cnt <
324 &tcp_time_wait->tcp_time_wait_lock);
332 &tcp_time_wait->tcp_time_wait_lock);
334 tcp_time_wait->tcp_free_list;
335 tcp_time_wait->tcp_free_list = tcp;
336 tcp_time_wait->tcp_free_list_cnt++;
341 &tcp_time_wait->tcp_time_wait_lock);
350 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);
379 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);
404 mutex_enter(&tcp_time_wait->tcp_time_wait_lock);
407 if (tcp_time_wait->tcp_free_list != NULL)
408 tcp_time_wait->tcp_free_list->tcp_in_free_list = B_TRUE;
414 if ((tcp = tcp_time_wait->tcp_time_wait_head) != NULL &&
415 tcp_time_wait->tcp_time_wait_tid == 0) {
421 tcp_time_wait->tcp_time_wait_tid =
427 tcp_time_wait->tcp_time_wait_running = B_FALSE;
429 mutex_exit(&tcp_time_wait->tcp_time_wait_lock);