[crac] RFR: X11 CRaC reinitializing on CheckpointRestore [v3]

Kuznetsov Ilya Alexandrovich duke at openjdk.org
Mon Sep 12 07:48:23 UTC 2022


> Allows CRaC to perform a CheckpointRestore operation for applications using GUI (Swing, AWT) and X11 connection.
> 
> Resources are registered only if the application uses the GUI. The order in which resources are reinitialized matters: Toolkit should be cleared before reference handling for a proper garbage collection, and GraphicsEnvironment after handling for a correct X11 disconnection. Some resources restore lazily.
> 
> The `beforeCheckpoint()` operation dispose necessary toolkit and connection resources and disconnects from X11. This allows CRaC to perform a Checkpoint since there is no external connection.
> The `afterRestore()` operations reconnect to X11 and then restore necessary connection and toolkit resources.
> 
> Thus, after the Restore operation, we have a clean X11 connection. It is ready to restore the original GUI state.

Kuznetsov Ilya Alexandrovich has updated the pull request incrementally with one additional commit since the last revision:

  Update CI

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

Changes:
  - all: https://git.openjdk.org/crac/pull/19/files
  - new: https://git.openjdk.org/crac/pull/19/files/2f8751d1..aa940d8f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=crac&pr=19&range=02
 - incr: https://webrevs.openjdk.org/?repo=crac&pr=19&range=01-02

  Stats: 6 lines in 1 file changed: 0 ins; 0 del; 6 mod
  Patch: https://git.openjdk.org/crac/pull/19.diff
  Fetch: git fetch https://git.openjdk.org/crac pull/19/head:pull/19

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


More information about the crac-dev mailing list