.
.         BUFFER SINK
.
.
.         (C)  Copyright 1972-1978  John Walker
.
.         This software is in the public domain
.
          AXR$
          DEFUNCT$
          FANG
          PURE      CODE
.
.         THIS ROUTINE WORKS JUST LIKE WRITE, BUT DOESN'T.
.
.         MAY BE ENTERED AS AN ASYNCHRONOUS SINK BY:
.
.         LX,U      X10,<INPUT FCT>
.         LMJ       A2,SINK
.         <RETURN>
.
.         OR AS A SYNCHRONOUS SINK BY:
.
.         LX,U      X10,<INPUT FCT>
.         J         SINKI
.
SINK*     FORK      SINKI               CREATE A SINK ACTIVITY
          J         0,A2                RETURN
.
SINKI*    GET       IOBB,X10            GET A BLOCK FROM THE BOUNDED BUFFER
          LA        A2,IBLAST,A1        LOAD LAST FLAG FROM BUFFER
          BRELP     A1                  RELEASE THE BLOCK BUFFER
          JZ        A2,SINKI            LOOP IF NOT LAST BUFFER
          V         IOBB+QL,X9          INDICATE COMPLETION
          EXIT      .                   ALL DONE
          END