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. So after this change if you bundle and run an app on Linux and then do "ps" .. what is shown to be running ? Java or the app-name you expected ? ------------- PR: https://git.openjdk.java.net/jdk/pull/2320