Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64a146513f8f12ba204b7bf5cb7e9505594ead42
Commit:     64a146513f8f12ba204b7bf5cb7e9505594ead42
Parent:     187f5f84ef14a07dccf5f4503099708d60f6a724
Author:     David S. Miller <[EMAIL PROTECTED]>
AuthorDate: Tue Mar 6 11:21:05 2007 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Mar 6 11:21:05 2007 -0800

    [NET]: Revert incorrect accept queue backlog changes.
    
    This reverts two changes:
    
    8488df894d05d6fa41c2bd298c335f944bb0e401
    248f06726e866942b3d8ca8f411f9067713b7ff8
    
    A backlog value of N really does mean allow "N + 1" connections
    to queue to a listening socket.  This allows one to specify
    "0" as the backlog and still get 1 connection.
    
    Noticed by Gerrit Renker and Rick Jones.
    
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 include/net/sock.h |    2 +-
 net/unix/af_unix.c |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/net/sock.h b/include/net/sock.h
index 849c7df..2c7d60c 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -426,7 +426,7 @@ static inline void sk_acceptq_added(struct sock *sk)
 
 static inline int sk_acceptq_is_full(struct sock *sk)
 {
-       return sk->sk_ack_backlog >= sk->sk_max_ack_backlog;
+       return sk->sk_ack_backlog > sk->sk_max_ack_backlog;
 }
 
 /*
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 51ca438..6069716 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -934,7 +934,7 @@ static long unix_wait_for_peer(struct sock *other, long 
timeo)
 
        sched = !sock_flag(other, SOCK_DEAD) &&
                !(other->sk_shutdown & RCV_SHUTDOWN) &&
-               (skb_queue_len(&other->sk_receive_queue) >=
+               (skb_queue_len(&other->sk_receive_queue) >
                 other->sk_max_ack_backlog);
 
        unix_state_runlock(other);
@@ -1008,7 +1008,7 @@ restart:
        if (other->sk_state != TCP_LISTEN)
                goto out_unlock;
 
-       if (skb_queue_len(&other->sk_receive_queue) >=
+       if (skb_queue_len(&other->sk_receive_queue) >
            other->sk_max_ack_backlog) {
                err = -EAGAIN;
                if (!timeo)
@@ -1381,7 +1381,7 @@ restart:
        }
 
        if (unix_peer(other) != sk &&
-           (skb_queue_len(&other->sk_receive_queue) >=
+           (skb_queue_len(&other->sk_receive_queue) >
             other->sk_max_ack_backlog)) {
                if (!timeo) {
                        err = -EAGAIN;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to