[crac] Integrated: Wake up all TIMED_WAITING threads after restore

Radim Vansa rvansa at openjdk.org
Fri Jun 30 15:38:28 UTC 2023


On Mon, 19 Jun 2023 14:46:35 GMT, Radim Vansa <rvansa at openjdk.org> wrote:

> This is a fix for an issue found by @jankratochvil when testing #53: Threads that enter sleep or timed parking use absolute monotonic time for pthread_cond_timedwait(). When the monotonic time changes during C/R we need to wake all threads to readjust the timeout to the new absolute time.
> 
> This introduces effectively a spurious wakeup; this is permitted for all the uses of pthread_cond_timedwait. Implementation either handles that transparently or propagates the wakeup to Java.
> 
> This commit does not handle timed waiting in non-Java threads other than WatcherThread.

This pull request has now been integrated.

Changeset: 7d3e7bfe
Author:    Radim Vansa <rvansa at openjdk.org>
URL:       https://git.openjdk.org/crac/commit/7d3e7bfe63ed07f533923805e0bfccbb20325348
Stats:     249 lines in 4 files changed: 249 ins; 0 del; 0 mod

Wake up all TIMED_WAITING threads after restore

Reviewed-by: akozlov

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

PR: https://git.openjdk.org/crac/pull/85


More information about the crac-dev mailing list