(Task_Address): New subtype of System.Address

(Task_Address): New subtype of System.Address
(Task_Address_Size): New constant size of System.Address
(Alternate_Stack_Size): New constant.

From-SVN: r134079
This commit is contained in:
Arnaud Charlet 2008-04-08 09:13:49 +02:00
parent 9874e25243
commit eb0a45986f
2 changed files with 24 additions and 0 deletions

View File

@ -65,6 +65,18 @@ package System.Task_Primitives is
-- A component of this type is guaranteed to be included in the
-- Ada_Task_Control_Block.
subtype Task_Address is System.Address;
-- In some versions of Task_Primitives, notably for VMS, Task_Address is
-- the short version of address defined in System.Aux_DEC. To avoid
-- dragging Aux_DEC into tasking packages a tasking specific subtype is
-- defined here.
Task_Address_Size : constant := Standard'Address_Size;
-- The size of Task_Address
Alternate_Stack_Size : constant := System.OS_Interface.Alternate_Stack_Size;
-- Import value from System.OS_Interface
private
type Lock is new System.OS_Interface.pthread_mutex_t;

View File

@ -42,6 +42,7 @@ pragma Polling (Off);
with Interfaces.C;
with System.OS_Interface;
with System.Aux_DEC;
package System.Task_Primitives is
pragma Preelaborate;
@ -66,6 +67,17 @@ package System.Task_Primitives is
-- A component of this type is guaranteed to be included in the
-- Ada_Task_Control_Block.
subtype Task_Address is System.Aux_DEC.Short_Address;
-- Task_Address is the short version of address defined in System.Aux_DEC.
-- To avoid dragging Aux_DEC into tasking packages a tasking specific
-- subtype is defined here.
Task_Address_Size : constant := System.Aux_DEC.Short_Address_Size;
-- The size of Task_Address
Alternate_Stack_Size : constant := 0;
-- No alternate signal stack is used on this platform
private
type Exc_Stack_T is array (0 .. 8192) of aliased Character;