about summary refs log tree commit diff
path: root/nptl/descr.h
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/descr.h')
-rw-r--r--nptl/descr.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/nptl/descr.h b/nptl/descr.h
index 5a4c99c42f..20e44af3be 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -86,7 +86,11 @@ struct pthread
   /* List of cleanup buffers.  */
   struct _pthread_cleanup_buffer *cleanup;
 
-  /* Two-level array for the thread-specific data.  */
+  /* True if events must be reported.  */
+  bool report_events;
+
+  /* We allocate one block of references here.  This should be enough
+     to avoid allocating any memory dynamically for most applications.  */
   struct pthread_key_data
   {
     /* Sequence number.  We use uintptr_t to not require padding on
@@ -96,20 +100,18 @@ struct pthread
 
     /* Data pointer.  */
     void *data;
-  } *specific[PTHREAD_KEY_1STLEVEL_SIZE];
-  /* We allocate one block of references here.  This should be enough
-     to avoid allocating any memory dynamically for most applications.  */
-  struct pthread_key_data specific_1stblock[PTHREAD_KEY_2NDLEVEL_SIZE];
+  } specific_1stblock[PTHREAD_KEY_2NDLEVEL_SIZE];
+
   /* Flag which is set when specific data is set.  */
   bool specific_used;
 
+  /* Two-level array for the thread-specific data.  */
+  struct pthread_key_data *specific[PTHREAD_KEY_1STLEVEL_SIZE];
+
   /* True if the user provided the stack.  */
   bool user_stack;
 
-  /* True if events must be reported.  */
-  bool report_events;
-
-  /* Lock to syncronize access to the descriptor.  */
+  /* Lock to synchronize access to the descriptor.  */
   lll_lock_t lock;
 
 #if HP_TIMING_AVAIL