From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.6 required=5.0 tests=BAYES_20,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!ssc-vax!cxsea!young From: young@cxsea.UUCP (Gary Young) Newsgroups: comp.lang.ada Subject: Re: Answer to 'a question' Message-ID: <2181@cxsea.UUCP> Date: Wed, 2-Sep-87 14:01:29 EDT Article-I.D.: cxsea.2181 Posted: Wed Sep 2 14:01:29 1987 Date-Received: Sat, 5-Sep-87 11:28:30 EDT References: <1987.8.27.15.36.30.Alfred.Peterson@sei.cmu.edu> Reply-To: young@cxsea.UUCP (Gary Young) Organization: Computer X Inc. Summary: Multiprocessors and Distribution can not guarantee 'order of call' List-Id: |In article <1987.8.27.15.36.30.Alfred.Peterson@sei.cmu.edu>: |>My question is: Are those entry calls queued in the order of calls? |>In other words, is the order of call the same as that of arrival? |>-- Haerim Lee (IE53@NTSUVAX) |>Answer:: |>YES. ... The key is that the execution of the |>calling task is suspended AFTER the queuing of the call takes place. Only |>then can the scheduler allow another task (possibly making a second call |>to the same entry) to execute. Thus 'order of call' = 'order of arrival'. |>-- Spencer Peterson (asp@sei.cmu.edu) Unfortunately, you are assuming a single processor system. In any distributed or multiprocessor system, where calls are implemented via message exchange, the "order of call" is no longer well specified. Indeed the Ada Reference Manual carefully leaves this to the implementation and so describes in the introduction to chapter 9. Even on a single processor, interupts (13.5.1) may implement an interrupt entry call by "having the hardware directly execute the appropriate accept statements. ... Direct calls to an interrupt entry are allowed." Perhaps changing the "order of call"?