more tweaking of thread support
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Dec 1999 12:20:23 +0000 (12:20 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Dec 1999 12:20:23 +0000 (12:20 +0000)
src/mesa/glapi/glapi.c

index 091932bf03bc97c2d71d80281a5af5cd1061aef2..47dd1dfe4437105e1c946f2faeff474c265f5c2f 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: glapi.c,v 1.16 1999/12/16 17:33:43 brianp Exp $ */
+/* $Id: glapi.c,v 1.17 1999/12/17 12:20:23 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -124,6 +124,10 @@ _glapi_set_dispatch(struct _glapi_table *dispatch)
 
 #if defined(THREADS)
    _glthread_SetTSD(&DispatchTSD, (void*) dispatch, dispatch_thread_init);
+   if (ThreadSafe)
+      Dispatch = NULL;  /* to help with debugging */
+   else
+      Dispatch = dispatch;
 #else
    Dispatch = dispatch;
 #endif
@@ -141,8 +145,10 @@ _glapi_get_dispatch(void)
    if (ThreadSafe) {
       return (struct _glapi_table *) _glthread_GetTSD(&DispatchTSD);
    }
-   else
+   else {
+      assert(Dispatch);
       return Dispatch;
+   }
 #else
    return Dispatch;
 #endif
@@ -449,7 +455,6 @@ _glapi_check_table(const struct _glapi_table *table)
    const struct _glapi_table *dispatch;        \
    if (ThreadSafe) {                   \
       dispatch = _glapi_get_dispatch();        \
-      assert(dispatch);                        \
    }                                   \
    else {                              \
       dispatch = Dispatch;             \