Ada 83 removed from the programmer the burden of coding potentially complex termination conditions between clients and servers by introducing an 'or terminate' option to the select statement. With the introduction of indirect communication (emphasised by the provision of protected objects in Ada 95), it is no longer straightforward to obtain program termination. This paper illustrates the problem and suggests that adding a terminate alternative to an entry call might solve the problem. The advantages and disadvantages of the approach are discussed.
/lp/association-for-computing-machinery/task-termination-and-ada-95-vxP3jcFVdD