diff options
| -rw-r--r-- | src/internal/pthread_impl.h | 2 | ||||
| -rw-r--r-- | src/locale/uselocale.c | 10 | 
2 files changed, 12 insertions, 0 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h index 615713c7..219bf006 100644 --- a/src/internal/pthread_impl.h +++ b/src/internal/pthread_impl.h @@ -12,6 +12,7 @@  #include <setjmp.h>  #include <string.h>  #include <time.h> +#include <locale.h>  #include "libc.h"  #include "syscall.h"  #include "atomic.h" @@ -44,6 +45,7 @@ struct pthread {  	} robust_list;  	int unblock_cancel;  	int delete_timer; +	locale_t locale;  };  struct __timer { diff --git a/src/locale/uselocale.c b/src/locale/uselocale.c new file mode 100644 index 00000000..9c799578 --- /dev/null +++ b/src/locale/uselocale.c @@ -0,0 +1,10 @@ +#include "locale_impl.h" +#include "pthread_impl.h" + +locale_t uselocale(locale_t l) +{ +	pthread_t self = pthread_self(); +	locale_t old = self->locale; +	if (l) self->locale = l; +	return old; +}  | 
