Ada 95 Quality and Style Guide | Chapter 5 |
5.9.9 Protected Objectsguideline
Do not invoke a potentially blocking operation within a protected entry, a protected procedure, or a protected function. rationale
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 > |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
TOC | TOC | TOC | TOC | TOC | TOC | TOC | TOC | TOC | TOC | TOC |
Appendix | References | Bibliography |