On AIX we use the AIXPollPort class to wrap the native pollset functionality.
AIXPollPort is based on the Linux EPollPort class. But on AIX there's an extra difficulty - we can not modify (with pollset_ctl()) and query (with pollset_poll()) a pollset concurrently (like this is possible on Linux with epoll_ctl() and epoll_wait()).
We have therefore synchronized calls to pollset_ctl() and pollset_poll() by using an extra control queue which handles these calls sequentially.
This implementation has an error which can lead to a deadlock if we have a pending pollset_ctl() event in the control queue while the corresponding pollset is already empty.