[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