qdosmsq:vectors:ssq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
qdosmsq:vectors:ssq [2011/05/04 11:28]
george.gwilt Complete the redefinition
qdosmsq:vectors:ssq [2011/05/04 11:30] (current)
george.gwilt Correct some links
Line 22: Line 22:
   * All registers not shown above are not used on entry and are preserved on exit.   * All registers not shown above are not used on entry and are preserved on exit.
   * **Must** be called in supervisor mode only.   * **Must** be called in supervisor mode only.
-  * This vector can be used as the IO routine in the device driver for a queue. It makes use of [[ssio|IO_SERIO]] with [[putp|IO_QTEST]],​ [[putp|IO_QOUT]] and [[putp|IO_QIN]] as the three fundamental routines.+  * This vector can be used as the IO routine in the device driver for a queue. It makes use of [[ssio|IO_SERIO]] with [[setq|IO_QTEST]],​ [[setq|IO_QOUT]] and [[setq|IO_QIN]] as the three fundamental routines.
   * When the channel block is set, by the OPEN routine, the 7th and 8th long words must point to the queues for input and output respectively. The two pointers could be the same, of course.   * When the channel block is set, by the OPEN routine, the 7th and 8th long words must point to the queues for input and output respectively. The two pointers could be the same, of course.
   * It is expected that this vector will be used to provide communication between tasks. Thus one task could open a channel to the queue for entering data and a second task could open a channel to the same queue to extract data from it. Attempts to add items to a full queue or extract data from an empty one result in a Not Complete error. This causes the operating system to retry the operation until completion. Thus one task requesting data from a queue initially empty will have its request satisfied as soon as another task puts data into the queue. ​   * It is expected that this vector will be used to provide communication between tasks. Thus one task could open a channel to the queue for entering data and a second task could open a channel to the same queue to extract data from it. Attempts to add items to a full queue or extract data from an empty one result in a Not Complete error. This causes the operating system to retry the operation until completion. Thus one task requesting data from a queue initially empty will have its request satisfied as soon as another task puts data into the queue. ​
  • qdosmsq/vectors/ssq.txt
  • Last modified: 2011/05/04 11:30
  • by george.gwilt