X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=lib%2Flibuutil%2Fuu_misc.c;h=67f757c905a0fc50dfeccfcee4fa309239c38daa;hb=c11a12bc3b2e5ee9a6bd74e26f1a396b6025fbd4;hp=578bf32940520349f8b3756ca7a012a8b131d79f;hpb=0ccd9d24e4fdbe9cd07f838d0a62083e8eca95f2;p=zfs.git diff --git a/lib/libuutil/uu_misc.c b/lib/libuutil/uu_misc.c index 578bf32..67f757c 100644 --- a/lib/libuutil/uu_misc.c +++ b/lib/libuutil/uu_misc.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include @@ -68,11 +67,12 @@ static va_list uu_panic_args; static pthread_t uu_panic_thread; static uint32_t _uu_main_error; +static __thread int _uu_main_thread = 0; void uu_set_error(uint_t code) { - if (thr_main() != 0) { + if (_uu_main_thread) { _uu_main_error = code; return; } @@ -101,7 +101,7 @@ uu_set_error(uint_t code) uint32_t uu_error(void) { - if (thr_main() != 0) + if (_uu_main_thread) return (_uu_main_error); if (uu_error_key_setup < 0) /* can't happen? */ @@ -206,18 +206,6 @@ uu_panic(const char *format, ...) (void) pause(); } -int -assfail(const char *astring, const char *file, int line) -{ -#if defined(__STDC__) && __STDC_VERSION__ - 0 >= 199901L - __assert_c99(astring, file, line, "unknown func"); -#else - __assert(astring, file, line); -#endif - /*NOTREACHED*/ - return (0); -} - static void uu_lockup(void) { @@ -259,6 +247,7 @@ uu_init(void) __attribute__((constructor)); static void uu_init(void) { + _uu_main_thread = 1; (void) pthread_atfork(uu_lockup, uu_release, uu_release_child); }