about summary refs log tree commit diff
path: root/linuxthreads/descr.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-26 04:15:50 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-26 04:15:50 +0000
commitc86e6aec55e00afc6aca584b13ce8e64ff305d51 (patch)
tree9ff99e44e223a8ddf051fa116698f59296a389be /linuxthreads/descr.h
parent468777e1d0dbd6cb8bcaee244a954824d5c84167 (diff)
downloadglibc-c86e6aec55e00afc6aca584b13ce8e64ff305d51.tar.gz
glibc-c86e6aec55e00afc6aca584b13ce8e64ff305d51.tar.xz
glibc-c86e6aec55e00afc6aca584b13ce8e64ff305d51.zip
Update.
	* nscd/cache.c (cache_search): Keep track of how many chain links
	we searched and update table statistics.
	(cache_add): Keep track of how many values are in the table.
	(prune_cache): Likewise.  Keep track of locking success.
	Print messages about removed entries in separate pass.
	* nscd/connections.c (handle_request): Don't print debug message here.
	The caller will do it.  Keep track of locking success.
	(nscd_run): Print debug message.  Also print PID of the client process.
	* nscd/nscd.c (start_time): New variable.
	(main): Remember start time.
	* nscd/nscd.h: Declare start_time.
	(struct database): Add more members for new statistics.
	* nscd/nscd_stat.c: Add support for sending, receiving, and printing
	of new statistics.
Diffstat (limited to 'linuxthreads/descr.h')
-rw-r--r--linuxthreads/descr.h22
1 files changed, 5 insertions, 17 deletions
diff --git a/linuxthreads/descr.h b/linuxthreads/descr.h
index dd496f6d0f..a9aaa55122 100644
--- a/linuxthreads/descr.h
+++ b/linuxthreads/descr.h
@@ -120,14 +120,17 @@ struct _pthread_descr_struct
       union dtv *dtvp;
       pthread_descr self;	/* Pointer to this structure */
       int multiple_threads;
-# define p_multiple_threads(descr) (descr)->p_header.data.multiple_threads
 # ifdef NEED_DL_SYSINFO
       uintptr_t sysinfo;
 # endif
     } data;
     void *__padding[16];
   } p_header;
+# define p_multiple_threads p_header.data.multiple_threads
+#elif TLS_MULTIPLE_THREADS_IN_TCB
+  int p_multiple_threads;
 #endif
+
   pthread_descr p_nextlive, p_prevlive;
                                 /* Double chaining of active threads */
   pthread_descr p_nextwaiting;  /* Next element in the queue holding the thr */
@@ -186,22 +189,7 @@ struct _pthread_descr_struct
 #endif
   size_t p_alloca_cutoff;	/* Maximum size which should be allocated
 				   using alloca() instead of malloc().  */
-  /* New elements must be added at the end before __multiple_threads.  */
-#if TLS_MULTIPLE_THREADS_IN_TCB
-  /* This field here isn't necessarily multiple_threads, which is really
-     the last integer in struct _pthread_descr_struct.  */
-  int __multiple_threads;
-# define p_multiple_threads(descr) \
-  (((union								      \
-     {									      \
-       struct _pthread_descr_struct s;					      \
-       struct								      \
-       {								      \
-	 char dummy[sizeof (struct _pthread_descr_struct) - sizeof (int)];    \
-	 int multiple_threads;						      \
-       } m;								      \
-     } *)(descr))->m.multiple_threads)
-#endif
+  /* New elements must be added at the end.  */
 } __attribute__ ((aligned(32))); /* We need to align the structure so that
 				    doubles are aligned properly.  This is 8
 				    bytes on MIPS and 16 bytes on MIPS64.