Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events
От | Thomas Munro |
---|---|
Тема | Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events |
Дата | |
Msg-id | CA+hUKG+H1gwDh96jn5jB6Q3HyXrSC9x2y=uQJAthT8NLs6GN_Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events (Jacob Champion <jacob.champion@enterprisedb.com>) |
Ответы |
Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events
|
Список | pgsql-hackers |
On Tue, Aug 5, 2025 at 3:24 AM Jacob Champion <jacob.champion@enterprisedb.com> wrote: > On Mon, Aug 4, 2025 at 7:53 AM Thomas Munro <thomas.munro@gmail.com> wrote: > > [FYI, I'm looking into this and planning to post a review in 1-2 days...] 0001: So, the problem is that poll(kqueue_fd) reports POLLIN if any events are queued, but level-triggered events are only rechecked and possibly cancelled if you actually call kevent(). Hmm, what if you just called kevent() with an output array of size one? * If it returns 0, that means it has rechecked all queued level-triggered events and booted them all out because they are no longer true. poll(fd) won't report POLLIN until one of them is queued again. * If it returns 1, then it stopped on the first level-triggered event that it rechecked and found to be still true. Who cares if there are more that didn't get rechecked? poll(fd) will report POLLIN either way, and that's what you want.
В списке pgsql-hackers по дате отправления: