Re: Strange issues with epoll since 5.0

From: Eric Wong
Date: Tue Apr 30 2019 - 22:26:43 EST


Eric Wong <e@xxxxxxxxx> wrote:
> Deepa Dinamani <deepa.kernel@xxxxxxxxx> wrote:
> > I'm not sure what the hang in the userspace is about. Is it because
> > the syscall did not return an error or the particular signal was
> > blocked etc.
>
> Uh, ok; that's less comforting.

Nevermind, I think I understand everything, now. epoll_pwait
never set errno without our patch.

cmogstored does this in notify.c:

/* wait_intr calls epoll_pwait: */
mfd = mog_idleq_wait_intr(mog_notify_queue, timeout);
if (mfd)
notify_queue_step(mfd);
else if (errno == EINTR) /* EINTR fails to be noticed */
note_run();