home *** CD-ROM | disk | FTP | other *** search
- if (room in clist and process is sleeping waiting for room)
- clear flag indecating user process is sleeping
- wake up sleeping process
-
- if (clist is empty)
- clear device busy flag
- if (someone is sleeping waiting to close )
- wake up process
- else if (timeout pending flag is clear )
- request that lprestart be called in a tenth of a second
- set timeout pending flag
- enable device interrupts
-
-
-
- intr entry point :
- if (device busy flag is clear )
- return (i.e. interrupt is spurious)
-
- if (there is at least one byte in the clist buffer)
- call lpwork to try to print it
-
-
-
- lp restart routing :
- clear the timeout pending flag
- raise processor priority (disable interrupts)
- call lpwork
- restore processor priority
-
-
-
-