home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!ut-emx!tivoli!TIVOLI.COM!stuart
- From: stuart@TIVOLI.COM (Stuart Jarriel)
- Newsgroups: comp.sys.hp
- Subject: Re: Problem with hp laser II
- Message-ID: <6954@tivoli.UUCP>
- Date: 16 Dec 92 00:51:37 GMT
- References: <9233810.2944@mulga.cs.mu.OZ.AU> <6854@tivoli.UUCP> <17491@umd5.umd.edu>
- Sender: news@tivoli.UUCP
- Organization: Tivoli Systems, Inc
- Lines: 31
-
- In article <17491@umd5.umd.edu>, mark@roissy.umd.edu (Mark Sienkiewicz) writes:
-
- |>
- |> I've seen this is lots of SYSV based machines-- they all seem to have
- |> this problem, but this solution looks like a quick hack that covers over
- |> some other problem.
- |>
- |> It looks to me like the real problem is that the XXclose routine for the
- |> terminal is changing the baud rate BEFORE the output is drained. If the
- |> close() system call would block until the output queue drained, and THEN
- |> set the baud rate back to the default, everything would work correctly,
- |> right?
- |>
-
-
- Well, that would be true if a single process was sending data to the printer.
- But SYSV print spooling is a conglomeration of shell scripts, with a cat
- somewhere in the middle. If a program were responsible to get the file,
- set up the printer and send the data, the close() would work. But if
- you have a script that:
-
- echo "some control char's to setup the printer"
- cat file
- echo "some more control char's"
-
- It's hard not to get the 300baud spikes.
-
- The cat in the middle does wait for a drain on close, but the shell scripts
- arent really written to maintain constant baud. I suppose they could be...
-
- stuart
-