Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8045557 | 8u25 | Volker Simonis | P4 | Resolved | Fixed | b01 |
JDK-8038579 | 8u20 | Volker Simonis | P4 | Resolved | Fixed | b08 |
JDK-8053786 | emb-8u26 | Volker Simonis | P4 | Resolved | Fixed | b17 |
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.
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.
- backported by
-
JDK-8038579 AIX: (ch) Fix synchronization issue in AixPollPort.java
-
- Resolved
-
-
JDK-8045557 AIX: (ch) Fix synchronization issue in AixPollPort.java
-
- Resolved
-
-
JDK-8053786 AIX: (ch) Fix synchronization issue in AixPollPort.java
-
- Resolved
-