RFR: 8320655: awt screencast robot spin and sync issues with native libpipewire api
Maxim Kartashev
mkartashev at openjdk.org
Fri Dec 1 11:25:06 UTC 2023
On Thu, 23 Nov 2023 13:00:06 GMT, Anton Bobrov <duke at openjdk.org> wrote:
> This patch addresses the issues described in the https://bugs.openjdk.org/browse/JDK-8320655 by fixing the proper locking and signalling around libpipewire thread loop condition variables and also fixing libpipewire error detection and signalling and propagation to the screencast API. This makes the screencast robot stable enough to consistently make it thru the entire javax/swing jtreg suite without hanging and also significantly reduces CPU consumption as there is no longer any burning spinners since they are now waiting on related conditions proper.
src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c line 46:
> 44: }
> 45:
> 46: static volatile gboolean hasPipewireFailed = FALSE;
I wonder why does `hasPipewireFailed` have to be `volatile`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16794#discussion_r1411960033
More information about the client-libs-dev
mailing list