diff packages/compat/posix/current/src/pthread.cxx @ 147:d397fc472bcf

Merge from eCos master repository on 2001-01-05-06:43:02-GMT
author jlarmour
date Fri, 05 Jan 2001 17:12:36 +0000
parents a9ac27ec7abc
children 8f2f7615e727
line wrap: on
line diff
--- a/packages/compat/posix/current/src/pthread.cxx
+++ b/packages/compat/posix/current/src/pthread.cxx
@@ -48,6 +48,7 @@
 #include <pkgconf/kernel.h>
 #include <pkgconf/posix.h>
 #include <pkgconf/isoinfra.h>
+#include <pkgconf/libc_startup.h>
 
 #include <cyg/kernel/ktypes.h>         // base kernel types
 #include <cyg/infra/cyg_trac.h>        // tracing macros
@@ -155,7 +156,7 @@ static pthread_t thread_id_cookie = THRE
 //-----------------------------------------------------------------------------
 // Main thread.
 
-static char main_stack[CYGNUM_POSIX_MAIN_DEFAULT_STACK_SIZE];
+static char main_stack[CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE];
 
 // Thread ID of main thread.
 static pthread_t main_thread;
@@ -390,8 +391,8 @@ externC void cyg_posix_pthread_start( vo
 
     pthread_attr_init( &attr );
     pthread_attr_setinheritsched( &attr, PTHREAD_EXPLICIT_SCHED );
-    pthread_attr_setstackaddr( &attr, &main_stack[CYGNUM_POSIX_MAIN_DEFAULT_STACK_SIZE] );
-    pthread_attr_setstacksize( &attr, CYGNUM_POSIX_MAIN_DEFAULT_STACK_SIZE );
+    pthread_attr_setstackaddr( &attr, &main_stack[CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE] );
+    pthread_attr_setstacksize( &attr, CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE );
     pthread_attr_setschedpolicy( &attr, SCHED_RR );
     pthread_attr_setschedparam( &attr, &schedparam );
     
@@ -2019,4 +2020,19 @@ externC void pthread_cleanup_pop_inner (
 
 
 // -------------------------------------------------------------------------
+// eCos-specific function to measure stack usage of the supplied thread
+
+#ifdef CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT
+externC size_t pthread_measure_stack_usage (pthread_t thread)
+{
+    pthread_info *th = pthread_info_id(thread);
+
+    if ( NULL == th )
+      return (size_t)-1;
+
+    return (size_t)th->thread->measure_stack_usage();
+}
+#endif
+
+// -------------------------------------------------------------------------
 // EOF pthread.cxx