Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Feb 2012 14:24:37 +0000 (UTC)
From:      David Chisnall <theraven@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r231682 - in head: include lib/libc/locale
Message-ID:  <201202141424.q1EEObiH002481@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: theraven
Date: Tue Feb 14 14:24:37 2012
New Revision: 231682
URL: http://svn.freebsd.org/changeset/base/231682

Log:
  Fix a misplaced __NO_TLS locations, and change a GNUism to a C11ism for
  consistency.
  
  Approved by:	brooks (mentor)

Modified:
  head/include/runetype.h
  head/lib/libc/locale/setrunelocale.c
  head/lib/libc/locale/xlocale_private.h

Modified: head/include/runetype.h
==============================================================================
--- head/include/runetype.h	Tue Feb 14 14:19:53 2012	(r231681)
+++ head/include/runetype.h	Tue Feb 14 14:24:37 2012	(r231682)
@@ -86,10 +86,10 @@ typedef struct {
 __BEGIN_DECLS
 extern const _RuneLocale _DefaultRuneLocale;
 extern const _RuneLocale *_CurrentRuneLocale;
-extern const _Thread_local _RuneLocale *_ThreadRuneLocale;
 #if defined(__NO_TLS) || defined(__RUNETYPE_INTERNAL)
 extern const _RuneLocale *__getCurrentRuneLocale(void);
 #else
+extern const _Thread_local _RuneLocale *_ThreadRuneLocale;
 static inline const _RuneLocale *__getCurrentRuneLocale(void)
 {
 

Modified: head/lib/libc/locale/setrunelocale.c
==============================================================================
--- head/lib/libc/locale/setrunelocale.c	Tue Feb 14 14:19:53 2012	(r231681)
+++ head/lib/libc/locale/setrunelocale.c	Tue Feb 14 14:24:37 2012	(r231682)
@@ -183,6 +183,8 @@ __wrap_setrunelocale(const char *locale)
 	_CurrentRuneLocale = __xlocale_global_ctype.runes;
 	return (_LDP_LOADED);
 }
+
+#ifndef __NO_TLS
 void
 __set_thread_rune_locale(locale_t loc) {
 
@@ -192,10 +194,11 @@ __set_thread_rune_locale(locale_t loc) {
 		_ThreadRuneLocale = XLOCALE_CTYPE(loc)->runes;
 	}
 }
+#endif
+
 void *
 __ctype_load(const char *locale, locale_t unused)
 {
-#ifndef __NO_TLS
 	struct xlocale_ctype *l = calloc(sizeof(struct xlocale_ctype), 1);
 	l->header.header.destructor = destruct_ctype;
 	if (__setrunelocale(l, locale))
@@ -204,5 +207,4 @@ __ctype_load(const char *locale, locale_
 		return NULL;
 	}
 	return l;
-#endif
 }

Modified: head/lib/libc/locale/xlocale_private.h
==============================================================================
--- head/lib/libc/locale/xlocale_private.h	Tue Feb 14 14:19:53 2012	(r231681)
+++ head/lib/libc/locale/xlocale_private.h	Tue Feb 14 14:24:37 2012	(r231682)
@@ -183,7 +183,7 @@ extern int __has_thread_locale;
  * The per-thread locale.  Avoids the need to use pthread lookup functions when
  * getting the per-thread locale.
  */
-extern __thread locale_t __thread_locale;
+extern _Thread_local locale_t __thread_locale;
 
 /**
  * Returns the current locale for this thread, or the global locale if none is



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202141424.q1EEObiH002481>