in sdk/host/src/main/native/cpp/platform/libos_occlum_enclave/jni/jni_occlum_enclave.c [207:223]
JNIEXPORT jint JNICALL JavaEnclave_TeeLibOSNativeDestroyEnclave(JNIEnv *env, jobject obj, jlong handler) {
// lookup symbol occlum_pal_destroy in libocclum-pal.so
int (*occlum_pal_destroy)(void);
occlum_pal_destroy = (int (*)(void))dlsym((void *)handler, "occlum_pal_destroy");
if (!occlum_pal_destroy) {
THROW_EXCEPTION(env, ENCLAVE_DESTROYING_EXCEPTION, "destroy tee lib os enclave: dlsym symbol occlum_pal_destroy failed.")
}
if (occlum_pal_destroy() != 0x0) {
THROW_EXCEPTION(env, ENCLAVE_DESTROYING_EXCEPTION, "destroy tee lib os enclave: occlum_pal_destroy failed.")
}
if (dlclose((void *)handler) != 0x0) {
THROW_EXCEPTION(env, ENCLAVE_DESTROYING_EXCEPTION, "destroy tee lib os enclave: close occlum_pal_path.so failed.")
}
}