[comp.os.minix] A bug in MINIX PC 1.5.10 printer driver ?

u31b3hs@cip-s01.informatik.rwth-aachen.de (Michael Haardt) (11/28/90)

Hello world!

I don't know if I am right, but in my opinion, there is a bug in the MINIX PC 1.5.10
printer driver.  If a write(2) sends data to the printer (I use blocks of 1024 bytes)
and a io error occurs (no paper etc...), write should return the number of bytes it
has written.  The next time, you call write with a number of bytes greater zero, it
should return -1 and errno should be set to EIO.  This is what I am thinking about it,
but its not the way MINIX does it.

If an io error occurs while write sends data to the printer, it returns -1 and sets errno.
There seems to be no way to adept the number of bytes the printer got before this error!

I need to write blocks of data, because one write for each character is very slow.

I need help, because this is the last bug, I have to remove from my own pretty nice
lineprinter spooler before I can post it.  This lineprinter spooler consists of a deamon
lpd, a frontend lpr and a lpq.  It is very small, but exactly what is missing in MINIX.
It can print text and graphics, which is neccesary for a text formatter I am writing
(announcement in a few weeks).

Please help and post advice

Michael (u31b3hs@cip-s01.informatik.rwth-aachen.de)
------------------------------------ Namaskaar ------------------------------------------