From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,MSGID_SHORT autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 5 Aug 91 19:56:20 GMT From: esosun!esosun.css.gov@seismo.css.gov (Howard E. Turner, Jr.) Subject: Re: Ada and Unix--Blocked Tasks Message-ID: <780@esosun.UUCP> List-Id: stachour@sctc.com (Paul Stachour) writes: [ lots deleted HET] But tasking IS a part of Ada. I should be able to expect that any environment that that supports Ada, should be able to support tasks. Furthermore, that if I do ANYTHING in that task (including a call on an OS-specific function) that could block, that my task might block. But I should be able to expect that the other tasks DO NOT BLOCK just because the OS decides to block one of the tasks. [ lots deleted HET] I think the key phrase here is "..I do ANYTHING in that task (including a call on an OS-specific function) that could block,...". If the compiler vendor provided you with an interface to an OS-specific function, then I would agree with your expectations, however, if you call an OS function that blocks (implying the entire process), then I would disagree with your expectations. When you go outside the bounds of the language, e.g pragma interface, to get to another language, you must handle anything that arises. This includes signals, blocking I/O, etc. "Tasking IS a part of Ada." But it is not a part of the OS (usually). The OS (except for maybe Rational's) has no notion of Ada tasking, so why would you expect it not to block the entire process? In particular, Ada tasking is not a part of either VMS or Unix. Neither OS will recognize the difference between an executable generated from C or Ada or any other language. Why would you expect the OS to handle executables derived from Ada source any differently than from C? Normally, compiler vendors provide a package(s) that support task blocking system calls instead of process blocking system calls. These are provided in addition to the the process blocking calls, which are sometimes used. Howard Turner howard@esosun.css.gov 619.458.2654 SAIC San Diego, CA USA