DragonFly BSD
DragonFly bugs List (threaded) for 2011-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue1998] kqueue issues with nginx


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Wed, 14 Sep 2011 10:42:50 +0800

Well, I think we could handle the problem in kernel in the following way:
- Add EV_NODATA flag
- In the places that sets EV_NODATA, we also set the EV_EOF using the
logic before 8c4ed4265ed709e0ff2e164b292fd6b3febef5d3
- In the places that test EV_EOF, we change it to test EV_NODATA
- In the places that clears EV_EOF, we also clears EV_NODATA

On Wed, Sep 7, 2011 at 3:18 PM, Andrey N. Oktyabrski (via DragonFly
issue tracker) <sinknull@leaf.dragonflybsd.org> wrote:
>
> Andrey N. Oktyabrski <ano@bestmx.ru> added the comment:
>
> I have some problems between nginx and backends too.
> Nginx can not see when the backend closed connection.
> The nginx developers said there is a kqueue problem: kqueue does not set EV_EOF
> flag. They has made test program (attached), which works well under the FreeBSD
> and NetBSD, but do not work properly under DragonFly.
>
> Using "select" or "poll" methods in the nginx solves the problem, but kqueue is
> preferred.
>
> $ uname -iprs
> DragonFly 2.10-RELEASE x86_64 X86_64_GENERIC_SMP
>
> _____________________________________________________
> DragonFly issue tracker <bugs@lists.dragonflybsd.org>
> <http://bugs.dragonflybsd.org/issue1998>
> _____________________________________________________



-- 
Tomorrow Will Never Die



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]