On Fri, 29 Jan 2021 21:33:40 GMT, Alexey Semenyuk <asemen...@openjdk.org> wrote:

> Fix for https://bugs.openjdk.java.net/browse/JDK-8254702
> 
> The fix splits Linux app launcher in app launcher and launcher shared lib. 
> App launcher is pure C and doesn't have C++ code. App launcher lib 
> incorporates bulk of C++ code from app launcher. 
> At startup app launcher loads launcher shared lib and calls functions it 
> provides to get data for launching JVM (path to jli lib and arguments for 
> JLI_Launch function call).
> App launcher unloads launcher shared lib before launching JVM to remove C++ 
> runtime from the process memory.
> 
> Getting rid of C++ code from app launcher required to rewrite app 
> installation location lookup code from C++ to C. LinuxPackage.c source is C 
> alternative for 
> https://github.com/openjdk/jdk/blob/master/src/jdk.jpackage/linux/native/applauncher/Package.cpp
>  and 
> https://github.com/openjdk/jdk/blob/master/src/jdk.jpackage/linux/native/applauncher/Executor.cpp.
> 
> Layout of jpackage's native code changed:
> - `common`: code shared between all jpackage binaries.
> - `applauncher`: launcher only code.
> - `applauncherlib`: launcher lib code on Linux and launcher code on other 
> platforms.
> - `applaunchercommon`: code shared between launcher and launcher lib on Linux 
> and launcher code on other platforms.

This pull request has now been integrated.

Changeset: fac3c2d2
Author:    Alexey Semenyuk <asemen...@openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/fac3c2d2
Stats:     1315 lines in 17 files changed: 1111 ins; 150 del; 54 mod

8254702: jpackage app launcher crashes on CentOS

Reviewed-by: almatvee, erikj, herrick

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

PR: https://git.openjdk.java.net/jdk/pull/2320

Reply via email to