comparison packages/language/c/libc/current/src/support/mainthread.cxx @ 44:41bd4f3a90de ecos-sw-1999-10-08

Merge from eCos master repository on 1999-10-08-07:47:04-BST
author jlarmour
date Fri, 08 Oct 1999 13:16:25 +0000
parents 443894e2e912
children c38311975d4f
comparison
equal deleted inserted replaced
43:3e1bfbe59ff6 44:41bd4f3a90de
91 91
92 static cyg_libc_dummy_constructor_class cyg_libc_dummy_constructor_obj 92 static cyg_libc_dummy_constructor_class cyg_libc_dummy_constructor_obj
93 CYG_INIT_PRIORITY(PREDEFAULT); 93 CYG_INIT_PRIORITY(PREDEFAULT);
94 #endif 94 #endif
95 95
96 #ifdef CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
97
96 // override stack size on some platforms 98 // override stack size on some platforms
97 #ifdef CYGNUM_HAL_STACK_SIZE_TYPICAL 99 #ifdef CYGNUM_HAL_STACK_SIZE_TYPICAL
98 # if CYGNUM_LIBC_MAIN_STACK_SIZE < CYGNUM_HAL_STACK_SIZE_TYPICAL 100 # if CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE < CYGNUM_HAL_STACK_SIZE_TYPICAL
99 # undef CYGNUM_LIBC_MAIN_STACK_SIZE 101 # undef CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE
100 # define CYGNUM_LIBC_MAIN_STACK_SIZE CYGNUM_HAL_STACK_SIZE_TYPICAL 102 # define CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE CYGNUM_HAL_STACK_SIZE_TYPICAL
101 # endif 103 # endif
102 #endif 104 #endif
103 105
104 // Make this weak so that users can override this from their own code 106 static cyg_uint8 cyg_libc_main_stack[ CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE ];
105 // if they really want. FIXME: but its still allocated 107
106 cyg_uint8 cyg_libc_main_stack[ CYGNUM_LIBC_MAIN_STACK_SIZE ] 108 #else // !ifdef CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
107 CYGBLD_ATTRIB_WEAK; 109
110 extern char *cyg_libc_main_stack;
111 extern int cyg_libc_main_stack_size;
112
113 #endif // !ifdef CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
108 114
109 // GLOBALS 115 // GLOBALS
110 116
111 // let the main thread be global so people can play with it (e.g. suspend 117 // let the main thread be global so people can play with it (e.g. suspend
112 // or resume etc.) if that's what they want to do 118 // or resume etc.) if that's what they want to do
113 Cyg_Thread cyg_libc_main_thread CYGBLD_ATTRIB_WEAK CYG_INIT_PRIORITY(LIBC) = 119 Cyg_Thread cyg_libc_main_thread CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_LIBC) =
114 Cyg_Thread(CYG_SCHED_DEFAULT_INFO, 120 Cyg_Thread(CYGNUM_LIBC_MAIN_THREAD_PRIORITY,
115 &cyg_libc_invoke_main, (CYG_ADDRWORD) 0, 121 &cyg_libc_invoke_main, (CYG_ADDRWORD) 0,
116 "main", 122 "main",
117 (CYG_ADDRESS) &cyg_libc_main_stack, 123 (CYG_ADDRESS) &cyg_libc_main_stack[0],
118 CYGNUM_LIBC_MAIN_STACK_SIZE); 124 #ifdef CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
125 CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE
126 #else
127 cyg_libc_main_stack_size
128 #endif
129 );
119 130
120 #endif // ifdef CYGSEM_LIBC_STARTUP_MAIN_THREAD 131 #endif // ifdef CYGSEM_LIBC_STARTUP_MAIN_THREAD
121 132
122 // EOF mainthread.cxx 133 // EOF mainthread.cxx