[crac] RFR: 8376959: [CRaC] Turn simengine into shared library [v10]

Timofei Pushkin tpushkin at openjdk.org
Fri Feb 13 07:13:00 UTC 2026


On Thu, 12 Feb 2026 08:38:00 GMT, Radim Vansa <rvansa at openjdk.org> wrote:

>> Right now `simengine` is implemented as an executable, invoked through `libcrexec` that implements the C/R API. Since the programmatic C/R API should be the main interface, any exec API is redundant; let's turn `simengine` into shared (dynamic) library implementing the API on its own.
>> 
>> The `pauseengine` does not need to exist on its own; this can be only an option `pause=true` for `simengine`. The implementation is Linux only (and it is out of scope to fill in a non-Linux implementation - the `pause` option can be just excluded in non-Linux `libsimengine`).
>> 
>> We expect to turn `libcrexec` + `criuengine` into `libcriuengine` in a follow up (not as part of this issue).
>
> Radim Vansa has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix symbols mixed up in static build

I took a high-level look, LGTM. Since this are implementation details we can cleanup later if needed.

Marked as reviewed by tpushkin (Committer).

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

PR Review: https://git.openjdk.org/crac/pull/289#pullrequestreview-3795434168
PR Review: https://git.openjdk.org/crac/pull/289#pullrequestreview-3795434827


More information about the crac-dev mailing list