/* * Academic License - for use in teaching, academic research, and meeting * course requirements at degree granting institutions only. Not for * government, commercial, or other organizational use. * * fable_osi_terminate.c * * Code generation for function 'fable_osi_terminate' * */ /* Include files */ #include "fable_osi_terminate.h" #include "_coder_fable_osi_mex.h" #include "fable_osi_data.h" #include "rt_nonfinite.h" #include "omp.h" /* Function Declarations */ static void emlrtExitTimeCleanupDtorFcn(const void *r); /* Function Definitions */ static void emlrtExitTimeCleanupDtorFcn(const void *r) { emlrtExitTimeCleanup(&emlrtContextGlobal); } void fable_osi_atexit(void) { static jmp_buf emlrtJBEnviron; emlrtStack st = { NULL, /* site */ NULL, /* tls */ NULL /* prev */ }; mexFunctionCreateRootTLS(); /* Initialize the memory manager. */ omp_init_lock(&emlrtLockGlobal); omp_init_nest_lock(&fable_osi_nestLockGlobal); st.tls = emlrtRootTLSGlobal; emlrtSetJmpBuf(&st, &emlrtJBEnviron); if (setjmp(emlrtJBEnviron) == 0) { emlrtPushHeapReferenceStackR2021a(&st, false, NULL, (void *)&emlrtExitTimeCleanupDtorFcn, NULL, NULL, NULL); emlrtEnterRtStackR2012b(&st); emlrtDestroyRootTLS(&emlrtRootTLSGlobal); emlrtExitTimeCleanup(&emlrtContextGlobal); omp_destroy_lock(&emlrtLockGlobal); omp_destroy_nest_lock(&fable_osi_nestLockGlobal); } else { omp_destroy_lock(&emlrtLockGlobal); omp_destroy_nest_lock(&fable_osi_nestLockGlobal); emlrtReportParallelRunTimeError(&st); } } void fable_osi_terminate(void) { emlrtDestroyRootTLS(&emlrtRootTLSGlobal); } /* End of code generation (fable_osi_terminate.c) */