comp.lang.ada
 help / color / mirror / Atom feed
From: young@cxsea.UUCP (Gary Young)
Subject: Re: Answer to 'a question'
Date: Wed, 2-Sep-87 14:01:29 EDT	[thread overview]
Date: Wed Sep  2 14:01:29 1987
Message-ID: <2181@cxsea.UUCP> (raw)
In-Reply-To: 1987.8.27.15.36.30.Alfred.Peterson@sei.cmu.edu

|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) <Software Engineering Institute>

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"?

  reply	other threads:[~1987-09-02 18:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1987-08-27 15:58 Answer to 'a question' Alfred.Peterson
1987-09-02 18:01 ` Gary Young [this message]
1987-09-04 16:58   ` R.A. Agnew
1987-09-06 16:08     ` David S. Rosenblum
1987-09-10 21:05       ` R.A. Agnew
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox