I fixed this in https://jira.mariadb.org/browse/MDEV-19274 .
I do not think it makes a lot of sense to implement generic, poll()-based
threadpool . epoll-like APIs exists almost everywhere, except very exotic (for
MariaDB) platforms we do not build on.
I googled, and I found that
MariaDB uses EPOLLETT| EPOLLONESHOT on Linux.
By now, I forgot which EPOLLXXX flag does what exactly.
The intention is to remove the socket from the “pollset” once we determine
there is some data to read. Then server executes query, and after that
threadpool puts socket back to
On Tue, Mar 27, 2018 at 04:48:10PM +0530, Varun wrote:
> revision-id: 167a96b5157049408a6ad4bca7abcd376af93fb5
> parent(s): 4359c6b4806605c78987e50cab3a6b42016b7603
> author: Varun Gupta
> committer: Varun Gupta
> timestamp: 2018-03-27 16:45:46 +0530
Addition to the previous comment : we want exactly the behaviour that is
described in this answer
https://stackoverflow.com/a/46142976/547065 , under “Level-triggered
thus we use the EPOLL flags that we use.
As original author remarks, on Linux, the socket is not physically
Thanks for fixing this issue. :-)
About thread-pool, the implementation of IOCP on AIX has limitations. That
works ONLY with Asynchronous I/O (AIO).
On AIX, we have the pollset API. Within our port of Go on AIX, we did not use
pollset since Go wants netpoll to be edge-triggered
Mail list logo