int *xnthread_get_errno_location(xnthread_t *thread) { static int fallback_errno; if (unlikely(!xnpod_active_p())) return &fallback_errno; #ifdef CONFIG_XENO_OPT_PERVASIVE if (xnthread_test_state(thread, XNSHADOW)) return &thread->errcode; if (xnthread_test_state(thread, XNROOT)) return &xnshadow_errno(current); #endif /* CONFIG_XENO_OPT_PERVASIVE */ return &thread->errcode; }
int *xnthread_get_errno_location(xnthread_t *thread) { static int fallback_errno; if (unlikely(!xnpod_active_p())) return &fallback_errno; #ifndef __XENO_SIM__ if (xnthread_test_state(thread, XNSHADOW)) return &thread->errcode; if (xnthread_test_state(thread, XNROOT)) return &xnshadow_errno(current); #endif /* !__XENO_SIM__ */ return &thread->errcode; }