forked from Imagelibrary/rtems
Added unused priority ceiling parameter to rtems_semaphore_create.
Rearranged code to created thread handler routines to initialize, start, restart, and "close/delete" a thread. Made internal threads their own object class. This now uses the thread support routines for starting and initializing a thread. Insured deleted tasks are freed to the Inactive pool associated with the correct Information block. Added an RTEMS API specific data area to the thread control block. Beginnings of removing the word "rtems" from the core.
This commit is contained in:
@@ -50,6 +50,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_GLOBAL,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -69,6 +69,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 1 ],
|
||||
0,
|
||||
RTEMS_GLOBAL | RTEMS_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -85,6 +85,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_GLOBAL,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&junk_id
|
||||
);
|
||||
fatal_directive_status( status, RTEMS_TOO_MANY, "rtems_semaphore_create" );
|
||||
|
||||
@@ -62,6 +62,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_GLOBAL | RTEMS_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -94,6 +94,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_GLOBAL,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -23,7 +23,13 @@ void Screen5()
|
||||
{
|
||||
rtems_status_code status;
|
||||
|
||||
status = rtems_semaphore_create( 0, 1, RTEMS_DEFAULT_ATTRIBUTES, &Junk_id );
|
||||
status = rtems_semaphore_create(
|
||||
0,
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_NAME,
|
||||
@@ -35,6 +41,7 @@ void Screen5()
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
@@ -44,6 +51,7 @@ void Screen5()
|
||||
Semaphore_name[ 2 ],
|
||||
1,
|
||||
RTEMS_BINARY_SEMAPHORE,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 2 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
@@ -54,7 +62,9 @@ void Screen5()
|
||||
Semaphore_name[ 3 ],
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
&Junk_id);
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
} while (status == RTEMS_SUCCESSFUL);
|
||||
|
||||
fatal_directive_status(
|
||||
@@ -68,6 +78,7 @@ void Screen5()
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_INHERIT_PRIORITY | RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
fatal_directive_status(
|
||||
@@ -81,6 +92,7 @@ void Screen5()
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_INHERIT_PRIORITY | RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
fatal_directive_status(
|
||||
@@ -94,6 +106,7 @@ void Screen5()
|
||||
Semaphore_name[ 1 ],
|
||||
2,
|
||||
RTEMS_BINARY_SEMAPHORE,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
fatal_directive_status(
|
||||
@@ -107,6 +120,7 @@ void Screen5()
|
||||
Semaphore_name[ 3 ],
|
||||
1,
|
||||
RTEMS_GLOBAL,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Junk_id
|
||||
);
|
||||
fatal_directive_status(
|
||||
|
||||
@@ -53,10 +53,11 @@ rtems_task Init(
|
||||
Semaphore_name[ 3 ] = rtems_build_name( 'S', 'M', '3', ' ' );
|
||||
|
||||
status = rtems_semaphore_create(
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
&Semaphore_id[ 1 ]
|
||||
Semaphore_name[ 1 ],
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 1 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM1" );
|
||||
|
||||
@@ -64,6 +65,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 2 ],
|
||||
0,
|
||||
RTEMS_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 2 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM2" );
|
||||
@@ -72,6 +74,7 @@ rtems_task Init(
|
||||
Semaphore_name[ 3 ],
|
||||
1,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 3 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM3" );
|
||||
@@ -94,6 +97,7 @@ pause();
|
||||
Semaphore_name[ 2 ],
|
||||
0,
|
||||
RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 2 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of priority inherit SM2" );
|
||||
@@ -110,6 +114,7 @@ pause();
|
||||
Semaphore_name[ 2 ],
|
||||
1,
|
||||
RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 2 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of priority inherit SM2" );
|
||||
@@ -125,6 +130,7 @@ pause();
|
||||
Semaphore_name[ 2 ],
|
||||
0,
|
||||
RTEMS_PRIORITY,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id[ 2 ]
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of priority SM2" );
|
||||
|
||||
@@ -82,6 +82,7 @@ rtems_task Test_task(
|
||||
name,
|
||||
OPERATION_COUNT,
|
||||
RTEMS_DEFAULT_MODES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&smid
|
||||
);
|
||||
end_time = Read_timer();
|
||||
@@ -110,6 +111,7 @@ rtems_task Test_task(
|
||||
name,
|
||||
OPERATION_COUNT,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&smid
|
||||
);
|
||||
|
||||
|
||||
@@ -107,6 +107,7 @@ void test_init()
|
||||
rtems_build_name( 'S', 'M', '1', ' '),
|
||||
0,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM1" );
|
||||
|
||||
@@ -71,6 +71,7 @@ rtems_task test_init(
|
||||
rtems_build_name( 'S', 'M', '1', '\0'),
|
||||
0,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM1" );
|
||||
|
||||
@@ -77,6 +77,7 @@ void test_init()
|
||||
rtems_build_name( 'S', 'M', '1', ' ' ),
|
||||
0,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM1" );
|
||||
|
||||
@@ -82,6 +82,7 @@ rtems_task Task_1(
|
||||
index,
|
||||
OPERATION_COUNT,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -41,6 +41,7 @@ rtems_task Init(
|
||||
rtems_build_name( 'S', 'M', '1', ' ') ,
|
||||
0,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create of SM1" );
|
||||
|
||||
@@ -141,6 +141,7 @@ rtems_task Init(
|
||||
rtems_build_name( 'S', 'E', 'M', '1' ),
|
||||
OPERATION_COUNT,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&Semaphore_id
|
||||
);
|
||||
directive_failed( status, "rtems_semaphore_create" );
|
||||
|
||||
@@ -172,8 +172,8 @@
|
||||
#define rtems_region_return_segment( rnid, segaddr ) \
|
||||
Empty_directive( rnid, segaddr )
|
||||
|
||||
#define rtems_semaphore_create( name, count, attr, smid ) \
|
||||
Empty_directive( name, count, attr, smid )
|
||||
#define rtems_semaphore_create( name, count, attr, priceil, smid ) \
|
||||
Empty_directive( name, count, attr, priceil, smid )
|
||||
#define rtems_semaphore_delete( smid ) \
|
||||
Empty_directive( smid )
|
||||
#define rtems_semaphore_ident( name, node, smid ) \
|
||||
|
||||
@@ -510,6 +510,7 @@ pause();
|
||||
name,
|
||||
128,
|
||||
RTEMS_DEFAULT_ATTRIBUTES,
|
||||
RTEMS_NO_PRIORITY,
|
||||
&id
|
||||
);
|
||||
end_time = Read_timer();
|
||||
|
||||
Reference in New Issue
Block a user