From: <pa...@rc...> - 2001-03-14 10:20:19
|
Hi, I just checked in some more changes to ptal-printd to make it more robust about handling runtime errors, instead of just exiting. If it can't open the print channel (possibly because the device is powered off), then it now delays and retries indefinitely. The delay defaults to 30 seconds and can be changed by the "-retrydelay <seconds>" parameter. If a write to the print channel fails during a print job (possibly due to a communication error or power-down), then it bit-buckets the rest of the current print job. It may also bit-bucket successive print jobs that are already enqueued, because it can't reliably detect job boundaries in that case. Once it detects a job boundary (an EOF on the named pipe), then it should stop bit-bucketing. I think I already mentioned that I changed ptal-printd to fork itself into the background by default (changeable by the "-nofork" switch). We had a pretty big discussion about these ptal-printd issues several months ago right after I released 0.7, and I think I have now addressed all of them. I would be interested to know what people think of these fixes, and if there's anything else I should try to change. I still plan to check in an "init" script to start and stop ptal-mlcd and ptal-printd. I'll probably provide one generic (distribution-independent) script for both daemons (${prefix}/sbin/ptal-init), based on input from a configuration file in /etc. Distribution-dependent scripts can then be written to invoke the generic script as needed and take care of details like updating /var/run and printing RedHat-style "OK"/"FAILED" status messages. David |