Mesa (master): mapi: remove u_thread.h

Brian Paul brianp at kemper.freedesktop.org
Thu Mar 5 14:19:32 UTC 2015


Module: Mesa
Branch: master
Commit: 9385c592c68e7304cd9084fe17f27ec17319cdcf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9385c592c68e7304cd9084fe17f27ec17319cdcf

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Mar  4 19:17:57 2015 -0700

mapi: remove u_thread.h

Just use c11 threads directly.

Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: José Fonseca <jfonseca at vmware.com>

---

 src/mapi/Makefile.sources |    3 +--
 src/mapi/glapi/glapi.h    |    1 -
 src/mapi/mapi.c           |    1 -
 src/mapi/stub.c           |   14 +++-----------
 src/mapi/u_current.c      |   28 ++++++++++++++--------------
 src/mapi/u_execmem.c      |    2 +-
 6 files changed, 19 insertions(+), 30 deletions(-)

diff --git a/src/mapi/Makefile.sources b/src/mapi/Makefile.sources
index 4e92f5e..07063f3 100644
--- a/src/mapi/Makefile.sources
+++ b/src/mapi/Makefile.sources
@@ -18,8 +18,7 @@ MAPI_UTIL_FILES = \
 	u_current.c \
 	u_current.h \
 	u_execmem.c \
-	u_execmem.h \
-	u_thread.h
+	u_execmem.h
 
 MAPI_BRIDGE_FILES = \
 	entry.c \
diff --git a/src/mapi/glapi/glapi.h b/src/mapi/glapi/glapi.h
index b2d6632..8d991fb 100644
--- a/src/mapi/glapi/glapi.h
+++ b/src/mapi/glapi/glapi.h
@@ -45,7 +45,6 @@
 #define _GLAPI_H
 
 #include "util/macros.h"
-#include "u_thread.h"
 
 
 #ifdef __cplusplus
diff --git a/src/mapi/mapi.c b/src/mapi/mapi.c
index aa6b91b..c235adc 100644
--- a/src/mapi/mapi.c
+++ b/src/mapi/mapi.c
@@ -29,7 +29,6 @@
 #include <string.h>
 
 #include "u_current.h"
-#include "u_thread.h"
 #include "mapi.h"
 #include "stub.h"
 #include "table.h"
diff --git a/src/mapi/stub.c b/src/mapi/stub.c
index 953b6c7..05436ba 100644
--- a/src/mapi/stub.c
+++ b/src/mapi/stub.c
@@ -28,10 +28,10 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+#include "c11/threads.h"
 
 #include "util/macros.h"
 #include "u_current.h"
-#include "u_thread.h"
 #include "entry.h"
 #include "stub.h"
 #include "table.h"
@@ -54,16 +54,8 @@ static int next_dynamic_slot = MAPI_TABLE_NUM_STATIC;
 void
 stub_init_once(void)
 {
-#ifdef HAVE_PTHREAD
-   static pthread_once_t once = PTHREAD_ONCE_INIT;
-   pthread_once(&once, entry_patch_public);
-#else
-   static int first = 1;
-   if (first) {
-      first = 0;
-      entry_patch_public();
-   }
-#endif
+   static once_flag flag = ONCE_FLAG_INIT;
+   call_once(&flag, entry_patch_public);
 }
 
 static int
diff --git a/src/mapi/u_current.c b/src/mapi/u_current.c
index 0365724..7e7e275 100644
--- a/src/mapi/u_current.c
+++ b/src/mapi/u_current.c
@@ -48,8 +48,8 @@
  *                 drivers!  No changes to the public glapi interface.
  */
 
+#include "c11/threads.h"
 #include "u_current.h"
-#include "u_thread.h"
 
 #ifndef MAPI_MODE_UTIL
 
@@ -112,8 +112,8 @@ struct mapi_table *u_current_table =
    (struct mapi_table *) table_noop_array;
 void *u_current_context;
 
-struct u_tsd u_current_table_tsd;
-static struct u_tsd u_current_context_tsd;
+tss_t u_current_table_tsd;
+static tss_t u_current_context_tsd;
 static int ThreadSafe;
 
 #endif /* defined(GLX_USE_TLS) */
@@ -124,8 +124,8 @@ void
 u_current_destroy(void)
 {
 #if !defined(GLX_USE_TLS)
-   u_tsd_destroy(&u_current_table_tsd);
-   u_tsd_destroy(&u_current_context_tsd);
+   tss_delete(u_current_table_tsd);
+   tss_delete(u_current_context_tsd);
 #endif
 }
 
@@ -135,8 +135,8 @@ u_current_destroy(void)
 static void
 u_current_init_tsd(void)
 {
-   u_tsd_init(&u_current_table_tsd);
-   u_tsd_init(&u_current_context_tsd);
+   tss_create(&u_current_table_tsd, NULL);
+   tss_create(&u_current_context_tsd, NULL);
 }
 
 /**
@@ -233,7 +233,7 @@ u_current_set_context(const void *ptr)
 #if defined(GLX_USE_TLS)
    u_current_context = (void *) ptr;
 #else
-   u_tsd_set(&u_current_context_tsd, (void *) ptr);
+   tss_set(u_current_context_tsd, (void *) ptr);
    u_current_context = (ThreadSafe) ? NULL : (void *) ptr;
 #endif
 }
@@ -249,9 +249,7 @@ u_current_get_context_internal(void)
 #if defined(GLX_USE_TLS)
    return u_current_context;
 #else
-   return (ThreadSafe)
-      ? u_tsd_get(&u_current_context_tsd)
-      : u_current_context;
+   return ThreadSafe ? tss_get(u_current_context_tsd) : u_current_context;
 #endif
 }
 
@@ -273,7 +271,7 @@ u_current_set_table(const struct mapi_table *tbl)
 #if defined(GLX_USE_TLS)
    u_current_table = (struct mapi_table *) tbl;
 #else
-   u_tsd_set(&u_current_table_tsd, (void *) tbl);
+   tss_set(u_current_table_tsd, (void *) tbl);
    u_current_table = (ThreadSafe) ? NULL : (void *) tbl;
 #endif
 }
@@ -287,7 +285,9 @@ u_current_get_table_internal(void)
 #if defined(GLX_USE_TLS)
    return u_current_table;
 #else
-   return (struct mapi_table *) ((ThreadSafe) ?
-         u_tsd_get(&u_current_table_tsd) : (void *) u_current_table);
+   if (ThreadSafe)
+      return (struct mapi_table *) tss_get(u_current_table_tsd);
+   else
+      return (struct mapi_table *) u_current_table;
 #endif
 }
diff --git a/src/mapi/u_execmem.c b/src/mapi/u_execmem.c
index ad6427b..89d5c1d 100644
--- a/src/mapi/u_execmem.c
+++ b/src/mapi/u_execmem.c
@@ -33,7 +33,7 @@
 
 
 #include "c99_compat.h"
-#include "u_thread.h"
+#include "c11/threads.h"
 #include "u_execmem.h"
 
 




More information about the mesa-commit mailing list