On Thu, 23 Nov 2023 13:00:06 GMT, Anton Bobrov <d...@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 930: > 928: fp_pw_thread_loop_unlock(pw.loop); > 929: releaseToken(env, jtoken, token); > 930: return RESULT_ERROR; I think that the fix can be improved a bit. Right now it just gives a black image on failure. We can try to add another attempt to get the image we need. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16794#discussion_r1411292492