Integrated: 8302849: SurfaceManager might expose partially constructed object

Per Minborg pminborg at openjdk.org
Wed Feb 22 11:48:56 UTC 2023


On Mon, 20 Feb 2023 10:25:34 GMT, Per Minborg <pminborg at openjdk.org> wrote:

> This PR proposes to add `volatile` to a variable declaration in order to prevent partially initialized objects to be observed by threads.
> 
> `SurfaceManager` is using a lazily initialized cacheMap that is initialized using a double-checked locking mechanism. Generally, objects initialized using such constructs need to be declared volatile. 
> 
> See https://en.wikipedia.org/wiki/Double-checked_locking#Usage_in_Java

This pull request has now been integrated.

Changeset: 63ef2143
Author:    Per Minborg <pminborg at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/63ef2143289f4aac52c8b2a6b555ed2b33dc1c07
Stats:     1 line in 1 file changed: 0 ins; 0 del; 1 mod

8302849: SurfaceManager might expose partially constructed object

Reviewed-by: serb

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

PR: https://git.openjdk.org/jdk/pull/12654



More information about the client-libs-dev mailing list