in sdk/host/src/main/java/org/apache/teaclave/javasdk/host/EmbeddedLibOSEnclave.java [113:132]
private void startupLibOSEnclaveAsync(EnclaveDebug mode, EnclaveSimulate sim) {
// Create embedded lib os enclave by native call asynchronously.
// Occlum embedded start up interface is occlum_pal_exec, it blocks until progress exit in enclave.
Executors.newFixedThreadPool(1, r -> {
Thread thread = new Thread(r);
thread.setName(EMBEDDED_LIB_OS_ENCLAVE_STARTUP_THREAD_NAME);
thread.setDaemon(true);
return thread;
}).submit(() -> {
EnclaveCreatingException exception = null;
try {
nativeCreateEnclave(mode.getValue(), sim.getValue(), portHost, portEnclave,
EmbeddedLibOSEnclaveConfigure.getInstance(),
extractTempPath.getLibOSSignedFilePath());
} catch (EnclaveCreatingException e) {
exception = e;
}
return exception;
});
}