|Ada 95 Quality and Style Guide||Chapter 5|
5.9.9 Protected Objects
Do not invoke a potentially blocking operation within a protected entry, a protected procedure, or a protected function.
The Ada Reference Manual (1995, §9.5.1) lists the potentially blocking operations:
Invoking any of these potentially blocking operations could lead either to a bounded error being detected or to a deadlock situation. In the case of bounded error, the exception Program_Error is raised. In addition, avoid calling routines within a protected entry, procedure, or function that could directly or indirectly invoke operating system primitives or similar operations that can cause blocking that is not visible to the Ada run-time system.
- - Select statement
- - Accept statement
- - Entry-call statement
- - Delay statement
- - Abort statement
- - Task creation or activation
- - External call on a protected subprogram (or an external requeue) with the same target object as that of the protected action
- - Call on a subprogram whose body contains a potentially blocking operation
|< Previous Page||Search||Contents||Index||Next Page >|