This procedure is called with a character to be printed, as a parameter.
“lp11.cc” is a count of the number of characters waiting to be sent to the line printer. If this is already large enough (“LPHWAT”, 8819), “sleep” for a while (so as not to flood the character buffer pool);
Call “putc” (0967) to store the character in a safe place. (The function of “putc” and its companion “getc” is a major topic to be discussed in Chapter Twenty Three.) It should be noted that no check is made that “putc” was successful in storing the character. (There may have been no space in the character buffers.) In practice there seems to be no real problem here, but one can wonder.
Raise the processor priority sufficiently to inhibit the interrupts from the line printer, call “lpstart” and then drop the priority again.