From cb1cc195e5492ec48dde3587fa4f7156b37a3e6e Mon Sep 17 00:00:00 2001 From: Sven Wegener Date: Wed, 16 Jul 2008 11:13:56 +0000 Subject: [PATCH] --- yaml --- r: 103553 b: refs/heads/master c: ba6fd85021dec97d58373d9aea4bea8fc24258be h: refs/heads/master i: 103551: 70376bb5fe96b40392ba9297195150ff4fe8a94d v: v3 --- [refs] | 2 +- trunk/net/ipv4/ipvs/ip_vs_sync.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 75d628b59e48..2785b84dfc58 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 998e7a76804b7a273a0460c2cdd5a51fa9856717 +refs/heads/master: ba6fd85021dec97d58373d9aea4bea8fc24258be diff --git a/trunk/net/ipv4/ipvs/ip_vs_sync.c b/trunk/net/ipv4/ipvs/ip_vs_sync.c index 550563a56607..cf5ed758ea1f 100644 --- a/trunk/net/ipv4/ipvs/ip_vs_sync.c +++ b/trunk/net/ipv4/ipvs/ip_vs_sync.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -772,6 +773,10 @@ static int sync_thread_backup(void *data) ip_vs_backup_mcast_ifn, ip_vs_backup_syncid); while (!kthread_should_stop()) { + wait_event_interruptible(*tinfo->sock->sk->sk_sleep, + !skb_queue_empty(&tinfo->sock->sk->sk_receive_queue) + || kthread_should_stop()); + /* do we have data now? */ while (!skb_queue_empty(&(tinfo->sock->sk->sk_receive_queue))) { len = ip_vs_receive(tinfo->sock, tinfo->buf, @@ -787,8 +792,6 @@ static int sync_thread_backup(void *data) ip_vs_process_message(tinfo->buf, len); local_bh_enable(); } - - msleep_interruptible(1000); } /* release the sending multicast socket */