Commit Graph

5 Commits

Author SHA1 Message Date
mainzelm 17b1a55c8b + Factor out pending interrupts into a separate package.
+ Let vm-channel-abort clear the pending-i/o interrupt if the queue became empty
2002-09-27 12:44:43 +00:00
sperber d14e638e10 Replace hacked-up VM-CHANNEL-ABORT by a version that's simpler and
closer to the original.
2002-09-19 07:07:40 +00:00
sperber d21334de83 Keep separate queues for input and output channels, so the VM doesn't
get confused handling events/interrupts.
I despise myself.
2002-09-18 14:56:31 +00:00
sperber 33c14d7901 First stab at implementing SELECT/SELECT!:
- extend the VM interrupts to distinguish between read and write
  events
- add new ADD-PENDING-CHANNEL instruction to the VM
- add WAIT-FOR-CHANNELS procedure to the run-time system
- implement SELECT and SELECT! on top of that in newports.scm

This runs some basic tests, but in general should be considered
largely untested.

Moreover, SELECT/SELECT! never detect any exceptional conditions---the
returned vectors are always empty.  This is because the VM doesn't
really track those, and it's unclear whether it would be worth the
effort.
2002-08-20 14:03:01 +00:00
marting 606245fc41 *** empty log message *** 1999-09-14 12:45:02 +00:00