[sheepdog] [PATCH 2/4] sheep: fix bug when delete conn.blocking_siblings
Yunkai Zhang
yunkai.me at gmail.com
Mon Jun 25 06:32:44 CEST 2012
On Mon, Jun 25, 2012 at 11:35 AM, Liu Yuan <namei.unix at gmail.com> wrote:
> On 06/23/2012 09:40 PM, Yunkai Zhang wrote:
>> - if (!(ci->conn.events & EPOLLIN))
>> + if (!list_empty(&ci->conn.blocking_siblings))
>
> I think this bug might be related to the first patch. This is kind of a
> workaround, I'm going to merge it but I think we should attack the root
> bug later.
I don't this this patch is a workaround.
Sheep adds connection into sys->blocking_conn_list when
(sys->outstanding_data_size > MAX_OUTSTANDING_DATA_SIZE). If one
connection is dead, we should check whether it have been added to the
blocking list, if so removing it from the list. I think this code is
simple and clear.
>
> Thanks,
> Yuan
>
--
Yunkai Zhang
Work at Taobao
More information about the sheepdog
mailing list