In diesem Abschnitt wird das Zusammenspiel von Scheduling von mit Prioritäten
behafteten Tasks und geschützten Objekten behandelt.
Wieder gibt es ein Pragma
pragma Locking_Policy(Name);
wobei <Name> entweder Ceiling_Locking oder ein
implementationsabhängiger Name ist.
Ceiling-Locking funktioniert folgendermaßen:
Jedes geschützte Objekt hat einen sogenannten Ceiling.
Dieser ist das Maximum aller Prioritäten, die Tasks haben können,
die das geschützte Objekt verwenden.
Während ein Task eine Operation eines geschützten Objektes ausführt,
erbt er diese Ceiling-Priorität.
Vor dem Aufruf einer Operation eines geschützten Objekts wird die Priorität
des Tasks mit dem Ceiling des Objektes verglichen;
sollte die Priorität des Tasks höher sein als das Ceiling, wird die
Exception programm_error ausgelöst.