[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: RFR: 8320655: awt screencast robot spin and sync issues with native libpipewire api
From:       Alexander Zvegintsev <azvegint () openjdk ! org>
Date:       2023-11-30 21:47:07
Message-ID: Gt_7HVMdb-0gdguDlYC8ddS0j6fE19vZPlrgOm_Alz8=.da246fcd-e88f-4036-9d25-2dfd6246c616 () github ! com
[Download RAW message or body]

On Thu, 23 Nov 2023 13:00:06 GMT, Anton Bobrov <duke@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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic