![]() | ||
| Home | SwiftX Archive | SwiftForth Archive | |

--- "Bulgrien, Dennis" <Dennis.Bulgrien_at_GDSATCOM.com>
a écrit :
> The documentation does not imply whether KEY? should
> (by standard) do a
> PAUSE . I think that it is not technically an I/O
> in the normal sense
> because it does not and will never wait for
> anything. The information it
> needs is readily available. Though many
> implementations of KEY? do have
> PAUSE I would like more confidence that code like
> this "BEGIN KEY? UNTIL" is
> portable, or whether one should explicitly write
> "BEGIN PAUSE KEY? UNTIL" .
As you point out, this is the safest. Where I know I
need a PAUSE, I put a PAUSE. Simple!
> I know of an example in the SwiftX kernel where it
> does not PAUSE .
>
> SwiftX.pdf, 5.2 PRINCIPLES OF OPERATION, 5.2.1
> Task-Scheduling Algorithm,
> "Most words performing asynchronous hardware
> operations (e.g., TYPE, ACCEPT)
> contain a WAIT or a jump to PAUSE so, while a task
> is waiting for an I/O
> operation to be completed, other tasks can use the
> CPU."
You are right. KEY? is the ambiguous case as it
generally does not wait for I/O (although one supposes
that it might if in fact the key status is on some
other processor and would require a blocking I/O
transaction to receive it).
Insert your own PAUSE and then do not worry any more.
___________________________________________________________________________
Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international.
Téléchargez sur http://fr.messenger.yahoo.com
----------------------------------------------------------------------
swiftx_at_forth.com The SwiftX programming discussion email list
To unsubscribe, send subject "unsubscribe" to swiftx-request_at_forth.com
For list command help, send subject "help" to swiftx-request_at_forth.com
Message archives are located at http://www.forth.com/archive/swiftx
----------------------------------------------------------------------
This list is a forum for SwiftX users. For product support and bug
reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Mon Mar 06 2006 - 10:32:51 PST
This archive was generated by hypermail 2.2.0 : Tue Dec 02 2008 - 03:04:50 PST