In non-CRaC JDK `PosixAttachListener` and related classes are declared, defined, implemented and used only on POSIX non-AIX platforms when "services" feature is included.
In CRaC, however, they are declared on all POSIX platforms always, defined on all POSIX platforms when "services" feature is included, and implemented only on POSIX non-AIX platforms when "services" feature is included.
This makes them visible even when they cannot actually be used. On AIX there are even calls to `PosixAttachListener` even though it is not implemented for AIX (which has its own `AixAttachListener`) — I believe this should cause a compilation error on AIX, although I don't have access to it to verify.
To fix it a few pre-processor directives need to be changed.
In CRaC, however, they are declared on all POSIX platforms always, defined on all POSIX platforms when "services" feature is included, and implemented only on POSIX non-AIX platforms when "services" feature is included.
This makes them visible even when they cannot actually be used. On AIX there are even calls to `PosixAttachListener` even though it is not implemented for AIX (which has its own `AixAttachListener`) — I believe this should cause a compilation error on AIX, although I don't have access to it to verify.
To fix it a few pre-processor directives need to be changed.
- relates to
-
JDK-8357244 Move class declarations from attachListener_posix.cpp to header files
-
- In Progress
-
- links to
-
Commit(crac) openjdk/crac/f2db1d6e
-
Review(crac) openjdk/crac/234