]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/ada/libgnarl/s-taskin.ads
s-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed.
authorJose Ruiz <ruiz@adacore.com>
Wed, 6 Jun 2007 10:46:22 +0000 (12:46 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:46:22 +0000 (12:46 +0200)
commit72fb810db9de1e8abdabefdb524567ad2691568e
treeb73f1b3b905e546cc52e9c05f08a94134ce134ab
parentb9f3a4b07df15081483fd4caa5d1e29266917fa3
s-taprob.adb (Unlock): Change the ceiling priority of the underlying lock, if needed.

2007-04-20  Jose Ruiz  <ruiz@adacore.com>
    Arnaud Charlet  <charlet@adacore.com>

* s-taprob.adb (Unlock): Change the ceiling priority of the underlying
lock, if needed.

* s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
priority associated to a lock.

* s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
assertion to take into account case of no abort restriction.
(Initialize_Protection_Entries): Add initialization for the field
New_Ceiling associated to the protected object.
(Unlock_Entries): Change the ceiling priority of the underlying lock, if
needed.

* s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
since this function needs to be set consistently with Update_Exception.

* s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
since this function needs to be set consistently with Update_Exception.

* s-taskin.ads: Update comments on
Interrupt_Server_Blocked_On_Event_Flag.
(Unbind_Handler): Fix handling of server_task wakeup
(Server_Task): Set self's state so that Unbind_Handler can take
appropriate actions.
(Common_ATCB): Now use a constant from System.Parameters to determine
the max size of the Task_Image field.

* s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
Initialize_Analyzer function.
([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
take into account case of no abort restriction.
([Vulnerable_]Complete_Master): Modify assertion.

* s-tataat.adb (Finalize): Use the nestable versions of
Defer/Undefer_Abort.

* s-tpobop.adb (Protected_Entry_Call): Relax assertion.

* s-tpobop.ads: Update comments.

* s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
of locking the object manually, to avoid inconsistencies between
Lock/Unlock_Entry assertions.

* s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
terminating
application and System.Parameters.No_Abort is True.
Update comments on Interrupt_Server_Blocked_On_Event_Flag.
(Unbind_Handler): Fix handling of server_task wakeup
(Server_Task): Set self's state so that Unbind_Handler can take
appropriate actions.

From-SVN: r125458
13 files changed:
gcc/ada/s-interr.adb
gcc/ada/s-interr.ads
gcc/ada/s-solita.adb
gcc/ada/s-taprob.adb
gcc/ada/s-taprop.ads
gcc/ada/s-tarest.adb
gcc/ada/s-taskin.ads
gcc/ada/s-tassta.adb
gcc/ada/s-tataat.adb
gcc/ada/s-tpoben.adb
gcc/ada/s-tpobop.adb
gcc/ada/s-tpobop.ads
gcc/ada/s-tposen.adb