[sheepdog] [PATCH v3 0/3] fix embryonic connection

Liu Yuan namei.unix at gmail.com
Tue Sep 4 12:57:36 CEST 2012


From: Liu Yuan <tailai.ly at taobao.com>

v3:
 - always use time poll instead of keepalive

This patch set tries to solve tow hang problems:
 1. blocking connect() might leave connection wait for unbounded period of
    time
 2. poll() might wait for unbounded period of time,  when 
    a) header in send buffer is not acked
    b) the remote node is crashed 

This two problems can be reproduced by refined 035.

Liu Yuan (3):
  test: consoliate test 035 to test more bugs
  net: fix embryonic connection handling in connect_to()
  gateway: fix poll() hang

 lib/net.c       |   13 +++++++------
 sheep/gateway.c |   24 +++++++++++++++++++-----
 tests/035       |   25 ++++++++++---------------
 tests/035.out   |   20 ++++++++++----------
 tests/common.rc |   21 +++++++++++++++++++++
 5 files changed, 67 insertions(+), 36 deletions(-)

-- 
1.7.10.2




More information about the sheepdog mailing list