Multi-Spoolers

Brandon Allbery brandon at tdi2.UUCP
Thu Dec 25 07:19:54 AEST 1986


Quoted from <99 at ems.UUCP> ["Re: Multi-spoolers"], by mark at ems.UUCP (Mark H. Colburn)...
+---------------
| In article <161 at ndmath.UUCP> milo at ndmath.UUCP (Greg Corson) writes:
| >Does anyone out there happen to have any (hopefully free) software that
| >allows a single print queue to drive more than one printer at a time?
| >
| >In other words...I have one print queue and several printers.  Whenever
| >a printer becomes free I want the next job in the queue to start printing
| >on that printer.  There might be as many as 3 identical printers on the
| >system at one time and I don't want to leave the load-leveling job to
| >the users.
| 
| You neglected to say what version of system you are using, but it is possible
| to do this kind of spooling using the System V lp spooler.  By correctly
| specifying printers and classes a user can send to a specific printer, or a
| specific class of printers.
+---------------

I have (nearly) written a print spooler (destined to be the UNaXcess Spooler)
which currently (almost) runs under System V.  (I began writing it to solve
a perceived problem with the "lp" spooler:  it (1) lacks a forms handling
feature, and (2) lacks a feature to automatically use the nearest free printer
in a class to the person/program doing the spooling.)  It is as yet incomplete,
but if you need something fast I can send you a shar file of what is written;
what needs to be done isn't too much, if you want a "basic spooler" system
(parts I haven't started yet are a full pagination system and generic print
mode interpreters, but you could probably do without them; so could we).  As
I said, it's written for sVr2.2; the features specific to sys5 (that I know of)
are mainly the spooler control via kill(-(pid_of_spooler), SIGTERM) to inform
the spooler and its descendants (de-queuers/print drivers) of changes of state
-- pqspool does a setpgrp() and sVr2 has the feature that if you send a signal
to the negative of a process group leader's pid (i.e. to -proc.p_pgrp), the
signal is sent to all processes in the pgrp.  This could probably be removed,
most easily by pqspool trapping the signal and forwarding it to all processes
in its driver list, since it works rather like a printer "init" process.

Yell if you want it.

[BTW:  other programs I've offered:  for some reason, the path from tdi2 to
mirror is a "you can't get there from here" affair, and I perfer mod.sources
for source postings.  HELP!!!  I have three programs waiting to go out --
UNaXcess 1.0.1, unisys, and sadp!]

++Brandon
-- 
``for is he not of the Children of Luthien?  Never shall that line fail, though
the years may lengthen beyond count.''  --J. R. R. Tolkien

Brandon S. Allbery	           UUCP: cbatt!cwruecmp!ncoast!tdi2!brandon
Tridelta Industries, Inc.         CSNET: ncoast!allbery at Case
7350 Corporate Blvd.	       INTERNET: ncoast!allbery%Case.CSNET at relay.CS.NET
Mentor, Ohio 44060		  PHONE: +1 216 255 1080 (home) +1 216 974 9210



More information about the Comp.unix.wizards mailing list