Mercurial > ecos
diff packages/compat/posix/current/src/pthread.cxx @ 162:2395031e7a66
Merge from eCos master repository on 2001-06-15-06:43:03-BST
| author | jlarmour |
|---|---|
| date | Fri, 15 Jun 2001 22:45:04 +0000 |
| parents | f935b880e96c |
| children | 4c750ce71ae3 |
line wrap: on
line diff
--- a/packages/compat/posix/current/src/pthread.cxx +++ b/packages/compat/posix/current/src/pthread.cxx @@ -156,7 +156,11 @@ static pthread_t thread_id_cookie = THRE //----------------------------------------------------------------------------- // Main thread. -static char main_stack[CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE]; +#define MAIN_DEFAULT_STACK_SIZE \ + (CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE < PTHREAD_STACK_MIN \ + ? PTHREAD_STACK_MIN : CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE) + +static char main_stack[MAIN_DEFAULT_STACK_SIZE]; // Thread ID of main thread. static pthread_t main_thread; @@ -412,8 +416,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_LIBC_MAIN_DEFAULT_STACK_SIZE] ); - pthread_attr_setstacksize( &attr, CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE ); + pthread_attr_setstackaddr( &attr, &main_stack[sizeof(main_stack)] ); + pthread_attr_setstacksize( &attr, sizeof(main_stack) ); pthread_attr_setschedpolicy( &attr, SCHED_RR ); pthread_attr_setschedparam( &attr, &schedparam ); @@ -1177,7 +1181,7 @@ externC int pthread_attr_setstacksize (p PTHREAD_CHECK(attr); - CYG_ASSERT( stacksize > PTHREAD_STACK_MIN, "Inadequate stack size supplied"); + CYG_ASSERT( stacksize >= PTHREAD_STACK_MIN, "Inadequate stack size supplied"); // Reject inadequate stack sizes if( stacksize < PTHREAD_STACK_MIN )
