[LEDE-DEV] [PATCH] uloop: use a waker for notifying sigchld and loop cancel events

Hans Dedecker dedeckeh at gmail.com
Wed Jun 15 06:13:52 PDT 2016


On Wed, Jun 15, 2016 at 11:58 AM, Felix Fietkau <nbd at nbd.name> wrote:
> On 2016-06-15 11:39, Conor O'Gorman wrote:
>> On 09/06/16 03:20, Yousong Zhou wrote:
>>> Fix a race condition when do_sigchld, uloop_cancelled were set just
>>> before epoll_wait(timeout=-1), resulting the loop stuck in the syscall
>>> without noticing the events just happened
>>>
>>> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
>>> ---
>>>   uloop-epoll.c  |  2 +-
>>>   uloop-kqueue.c |  2 +-
>>>   uloop.c        | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
>>>   3 files changed, 63 insertions(+), 6 deletions(-)
>>>
>> Why not change the timeout?
> Changing the timeout would not fix the race, and it would lead to
> unnecessary process wakeups and extra latency for signal processing.
>
> - Felix
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
Could it be that the wiker_pipe does not get properly initialized as
waker_pipe never is assigned a fd value ?

Br,
Hans



More information about the Lede-dev mailing list