Query: lpr/lpd on SGI?

Robert Viduya robert at shangri-la.gatech.edu
Wed May 30 04:31:27 AEST 1990


>budd at bu-it.bu.edu (Phil Budne) (budd at bu-it.bu.edu, <57861 at bu.edu.bu.edu>):
> In article <7869 at ubc-cs.UUCP> hogg at cheddar.cc.ubc.ca (John Hogg) writes:
> >I know that SGI has promised Berkeley lpr/lpd printing support for the
> >next release, but we were wondering if anyone has ported it to the
> >current (3.2) release of IRIX.
> 
> I have done so.  I was only interested in sending jobs to remote
> printers.  Check out bu.edu: ~ftp/src/PRINTING/sgi-lpd.tar.Z which is
> based on the (freed) 4.3 Tahoe version of lpr/lpd.  The tar also
> contains AUX-lpd which is a set of diffs for a USG Unix port of
> lpr/lpd which includes local printer support.
> 
> 	Phil Budne, Boston University

Just a note... we use BU's lpd on our sgi's but discovered a problem with
it leaving a bunch of zombie processes around.  Turned out to be a problem
with signal handling, specifically with SIGCHLD (SIGCLD, if you prefer).
After looking through kernel source, we discovered that the signal system
call is implemented using the old SVR2 semantics: when a signal function
is invoked, the signal trap is cleared and it's up to the signal function
to reset the trap back to itself (which of course, leaves a small window open
between the time the function is invoked and the time it sets the signal
trap back for another signal to come in and get misplaced).  Further
investigation showed that the sigset SVR3 function doesn't have this problem.
Adding a simple "#define signal(s,f) sigset(s,f)" to the file lp.h fixed
the problem.

			robert
--
Robert Viduya					   robert at shangri-la.gatech.edu
Office of Computing Services
Georgia Institute of Technology					 (404) 894-6296
Atlanta, Georgia	30332-0275



More information about the Comp.sys.sgi mailing list