diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-30 07:54:26 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-30 07:54:26 +0000 |
commit | 67ebbcf72df5a6ebf02a075237559e3783878a09 (patch) | |
tree | 189e8fc0f9f0abfcc02175054ec3b8253de47c90 /c/src/exec | |
parent | 2000-08-29 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-67ebbcf72df5a6ebf02a075237559e3783878a09.tar.bz2 |
2000-08-30 Joel Sherrill <joel.sherrill@OARcorp.com>
* taskstart.c: Added 1st cut at rtems_task_start_main_style.
Diffstat (limited to 'c/src/exec')
-rw-r--r-- | c/src/exec/rtems/ChangeLog | 4 | ||||
-rw-r--r-- | c/src/exec/rtems/src/taskstart.c | 43 |
2 files changed, 42 insertions, 5 deletions
diff --git a/c/src/exec/rtems/ChangeLog b/c/src/exec/rtems/ChangeLog index 101734ce64..6b3c637492 100644 --- a/c/src/exec/rtems/ChangeLog +++ b/c/src/exec/rtems/ChangeLog @@ -1,3 +1,7 @@ +2000-08-30 Joel Sherrill <joel.sherrill@OARcorp.com> + + * taskstart.c: Added 1st cut at rtems_task_start_main_style. + 2000-08-10 Joel Sherrill <joel@OARcorp.com> * ChangeLog: New file. diff --git a/c/src/exec/rtems/src/taskstart.c b/c/src/exec/rtems/src/taskstart.c index 6764333d87..ab31e4599e 100644 --- a/c/src/exec/rtems/src/taskstart.c +++ b/c/src/exec/rtems/src/taskstart.c @@ -46,10 +46,12 @@ * error code - if unsuccessful */ -rtems_status_code rtems_task_start( - rtems_id id, - rtems_task_entry entry_point, - unsigned32 argument +rtems_status_code rtems_task_start_support( + rtems_id id, + rtems_task_entry entry_point, + Thread_Start_types arg_style, + unsigned32 u32_arg, + void *void_arg ) { register Thread_Control *the_thread; @@ -72,7 +74,7 @@ rtems_status_code rtems_task_start( case OBJECTS_LOCAL: if ( _Thread_Start( - the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) { + the_thread, arg_style, entry_point, void_arg, u32_arg ) ) { _Thread_Enable_dispatch(); return RTEMS_SUCCESSFUL; } @@ -82,3 +84,34 @@ rtems_status_code rtems_task_start( return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */ } + +rtems_status_code rtems_task_start( + rtems_id id, + rtems_task_entry entry_point, + unsigned32 argument +) +{ + return rtems_task_start_support( + id, + entry_point, + THREAD_START_NUMERIC, + argument, + NULL + ); +} + +rtems_status_code rtems_task_start_main_style( + rtems_id id, + rtems_task (*entry_point)(int, char **), + int argc, + char **argv +) +{ + return rtems_task_start_support( + id, + (rtems_task_entry) entry_point, + THREAD_START_BOTH_NUMERIC_FIRST, + argc, + argv + ); +} |