On Thu, 14 Apr 2022 19:26:53 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> Xue-Lei Andrew Fan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> use static cleaner, and clean up swp file > > src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java > line 168: > >> 166: // Calls disconnect() to cleanup the native part of the wrapper. >> 167: Cleaner.create().register(this, >> 168: () -> PKCS11.disconnect(pNativeData)); > > If I'm not mistaken each new call to Cleaner.create() will create a new > cleaner and a new deamon thread for it, so it's not recommended to create one > cleaner per object. > Also it might be worth double checking that the lambda created here doesn't > capture `this`: IIRC there were some subtle cases where a lambda could > unexpectedly capture `this`. > > Also probably the cleaner itself can't be GC'ed while its thread is running > but you might be relying on undocumented behavior. It would be more prudent > to stick it in a static variable to retain a strong reference. Good points. I may change to use a static method instead in the next commit. ------------- PR: https://git.openjdk.java.net/jdk/pull/8248