summaryrefslogtreecommitdiffstats
path: root/c/src/exec
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-30 07:54:26 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-08-30 07:54:26 +0000
commit67ebbcf72df5a6ebf02a075237559e3783878a09 (patch)
tree189e8fc0f9f0abfcc02175054ec3b8253de47c90 /c/src/exec
parent2000-08-29 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-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/ChangeLog4
-rw-r--r--c/src/exec/rtems/src/taskstart.c43
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
+ );
+}