https://bz.apache.org/bugzilla/show_bug.cgi?id=57653

--- Comment #8 from Mark Thomas <ma...@apache.org> ---
(In reply to Christopher Schultz from comment #7)
> Not knowing a great deal about the underlying issue...

It is worth reading AprEndpoint.Poller.run() and the native implementation of
poll()

> If the fd is registered for both READ and WRITE, and we get multiple
> "responses" from apr_pollset_poll, are those happening (somewhat)
> simultaneously in two separate threads?

No.

> So one of them fetches the fd, then
> the other fetches the same fd, then one of them removes the fd, then the
> other tries to do that same thing?

No. It happens sequentially in a single thread.

> Or do we need to examine the return from apr_pollset_poll to find out if we
> got the READ versus WRITE notification and make sure it's the one we were
> expecting?

That is handled in Poller.run()

The fundamental problem is that poll() assumed that there would never be
multiple notifications for the same socket. That assumption was not valid.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to