diff options
author | Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 2005-06-19 01:47:59 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-19 01:47:59 -0400 |
commit | 0e87506fcc734647c7b2497eee4eb81e785c857a (patch) | |
tree | bb8863c59fdef2628f17b6773c52801792a57722 /include/linux/tcp.h | |
parent | 60236fdd08b2169045a3bbfc5ffe1576e6c3c17b (diff) |
[NET] Generalise tcp_listen_opt
This chunks out the accept_queue and tcp_listen_opt code and moves
them to net/core/request_sock.c and include/net/request_sock.h, to
make it useful for other transport protocols, DCCP being the first one
to use it.
Next patches will rename tcp_listen_opt to accept_sock and remove the
inline tcp functions that just call a reqsk_queue_ function.
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r-- | include/linux/tcp.h | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index fb54292a15aa..97a7c9e03df5 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -379,22 +379,7 @@ struct tcp_sock { | |||
379 | 379 | ||
380 | __u32 total_retrans; /* Total retransmits for entire connection */ | 380 | __u32 total_retrans; /* Total retransmits for entire connection */ |
381 | 381 | ||
382 | /* The syn_wait_lock is necessary only to avoid proc interface having | 382 | struct request_sock_queue accept_queue; /* FIFO of established children */ |
383 | * to grab the main lock sock while browsing the listening hash | ||
384 | * (otherwise it's deadlock prone). | ||
385 | * This lock is acquired in read mode only from listening_get_next() | ||
386 | * and it's acquired in write mode _only_ from code that is actively | ||
387 | * changing the syn_wait_queue. All readers that are holding | ||
388 | * the master sock lock don't need to grab this lock in read mode | ||
389 | * too as the syn_wait_queue writes are always protected from | ||
390 | * the main sock lock. | ||
391 | */ | ||
392 | rwlock_t syn_wait_lock; | ||
393 | struct tcp_listen_opt *listen_opt; | ||
394 | |||
395 | /* FIFO of established children */ | ||
396 | struct request_sock *accept_queue; | ||
397 | struct request_sock *accept_queue_tail; | ||
398 | 383 | ||
399 | unsigned int keepalive_time; /* time before keep alive takes place */ | 384 | unsigned int keepalive_time; /* time before keep alive takes place */ |
400 | unsigned int keepalive_intvl; /* time interval between keep alive probes */ | 385 | unsigned int keepalive_intvl; /* time interval between keep alive probes */ |