Mercurial > ecos
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 |
