On Wed, 16 Jul 2025 20:47:23 GMT, Phil Race <p...@openjdk.org> wrote:

> Replace finalization with 2D Disposer

src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java line 651:

> 649: 
> 650:         public void dispose() {
> 651:             synchronized (lock) {

I do not think this synchronization is necessary. Before the patch it was used 
to guard access to fNSPrintInfo field, which might have been lazily initialized 
and disposed concurrently.

Now we use the Disposer only if fNSPrintInfo has been used and initialized -> 
we saved it to NSPrintInfoDisposer and from that point it is never changed.

So we can drop the lock, and all check for the field(seems createNSPrintInfo 
cannot return -1) + mark it as final

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26359#discussion_r2212226803

Reply via email to