git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
[safe/jmp/linux-2.6]
/
include
/
net
/
request_sock.h
diff --git
a/include/net/request_sock.h
b/include/net/request_sock.h
index
b7c7eec
..
8e165ca
100644
(file)
--- a/
include/net/request_sock.h
+++ b/
include/net/request_sock.h
@@
-53,6
+53,7
@@
struct request_sock {
unsigned long expires;
struct request_sock_ops *rsk_ops;
struct sock *sk;
unsigned long expires;
struct request_sock_ops *rsk_ops;
struct sock *sk;
+ u32 secid;
};
static inline struct request_sock *reqsk_alloc(struct request_sock_ops *ops)
};
static inline struct request_sock *reqsk_alloc(struct request_sock_ops *ops)
@@
-97,6
+98,7
@@
struct listen_sock {
*
* @rskq_accept_head - FIFO head of established children
* @rskq_accept_tail - FIFO tail of established children
*
* @rskq_accept_head - FIFO head of established children
* @rskq_accept_tail - FIFO tail of established children
+ * @rskq_defer_accept - User waits for some data after accept()
* @syn_wait_lock - serializer
*
* %syn_wait_lock is necessary only to avoid proc interface having to grab the main
* @syn_wait_lock - serializer
*
* %syn_wait_lock is necessary only to avoid proc interface having to grab the main
@@
-112,6
+114,8
@@
struct request_sock_queue {
struct request_sock *rskq_accept_head;
struct request_sock *rskq_accept_tail;
rwlock_t syn_wait_lock;
struct request_sock *rskq_accept_head;
struct request_sock *rskq_accept_tail;
rwlock_t syn_wait_lock;
+ u8 rskq_defer_accept;
+ /* 3 bytes hole, try to pack */
struct listen_sock *listen_opt;
};
struct listen_sock *listen_opt;
};
@@
-142,7
+146,7
@@
static inline struct request_sock *
{
struct request_sock *req = queue->rskq_accept_head;
{
struct request_sock *req = queue->rskq_accept_head;
- queue->rskq_accept_head =
queue->rskq_accept_head =
NULL;
+ queue->rskq_accept_head = NULL;
return req;
}
return req;
}
@@
-241,7
+245,7
@@
static inline int reqsk_queue_is_full(const struct request_sock_queue *queue)
static inline void reqsk_queue_hash_req(struct request_sock_queue *queue,
u32 hash, struct request_sock *req,
static inline void reqsk_queue_hash_req(struct request_sock_queue *queue,
u32 hash, struct request_sock *req,
- unsigned timeout)
+ unsigned
long
timeout)
{
struct listen_sock *lopt = queue->listen_opt;
{
struct listen_sock *lopt = queue->listen_opt;