From 7ef8a7379f7f7d09e71ccae2a0b688c3cd80423f Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Fri, 8 Feb 2019 18:42:39 -0500 Subject: merge sources into single tree --- src/nonstd/__libc_per_thread.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/nonstd/__libc_per_thread.c (limited to 'src/nonstd/__libc_per_thread.c') diff --git a/src/nonstd/__libc_per_thread.c b/src/nonstd/__libc_per_thread.c new file mode 100644 index 00000000..5cc2f2a5 --- /dev/null +++ b/src/nonstd/__libc_per_thread.c @@ -0,0 +1,28 @@ +#include "nonstd/internal.h" +#include "locale.h" +#include "nonstd/locale.h" + +#if defined __STDC_VERSION__ && 201112L <= __STDC_VERSION__ && !defined __STDC_NO_THREADS__ +#define THREAD_LOCAL static _Thread_local +#else +#define THREAD_LOCAL static +#endif + +void *__libc_per_thread(LIBC_INTERNAL variable) +{ + THREAD_LOCAL int errno; + THREAD_LOCAL struct __locale_t *locale; + + switch (variable) { + case ERRNO: + return &errno; + + case THREAD_LOCALE: + return &locale; + + default: + break; + } + + return (void*)0; +} -- cgit v1.2.1