[crac] RFR: 8378446: [CRaC] Replace libcrexec with libcriuengine [v4]
Timofei Pushkin
tpushkin at openjdk.org
Fri Feb 27 09:34:15 UTC 2026
On Fri, 27 Feb 2026 09:22:31 GMT, Radim Vansa <rvansa at openjdk.org> wrote:
>> After [JDK-8376959](https://bugs.openjdk.org/browse/JDK-8376959) the only use of libcrexec is running CRIU; in fact the code already is quite CRIU-dependent. The point of this task is to stop pretending that libcrexec is generic, and move code from criuengine binary (now removed) into libcriuengine implementing the C/R API.
>>
>> This removes smuggling of some parameters through environment variables and execution of the criuengine. We still require anexecuteable (now called `criuhelper`) to become parent of the restored process, but this has significantly simplified implementation.
>>
>> Replacement of communication between the restoring and restored process through signals and temporary files is out of scope of this change.
>
> Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:
>
> Mostly stylistic changes
Marked as reviewed by tpushkin (Committer).
src/java.base/linux/native/libcriuengine/criuengine.cpp line 133:
> 131: ArgsBuilder() {
> 132: memset(_args, 0, sizeof(_args));
> 133: }
I was thinking of just `const char* _args[32] = {};` but this has the same effect
-------------
PR Review: https://git.openjdk.org/crac/pull/297#pullrequestreview-3865911846
PR Review Comment: https://git.openjdk.org/crac/pull/297#discussion_r2863391332
More information about the crac-dev
mailing list