Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!decvax!decwrl!ucbvax!info-vax From: rcb@RTI-SEL.UUCP (Random) Newsgroups: mod.computers.vax Subject: Re: User-modified print symbionts. Message-ID: <8602261404.AA12266@rti-sel> Date: Wed, 26-Feb-86 09:04:20 EST Article-I.D.: rti-sel.8602261404.AA12266 Posted: Wed Feb 26 09:04:20 1986 Date-Received: Sun, 2-Mar-86 04:25:23 EST References: <8602250741.AA05066@csvax.caltech.edu> Sender: daemon@ucbvax.BERKELEY.EDU Organization: Research Triangle Institute, RTP, NC Lines: 20 Approved: info-vax@sri-kl.arpa I have seen your problem about the print symbionts. I wrote a symbiont to talk to an Imagen laser printer that talks a WEIRD packet protocol. The printer is also shared by many computers on our terminal switch, so I had to release the printer when I was done so that other computers could have it. The solution I found was a simple timer. In the output routine, I would cancel the timer and restart it just before returning. If the timer ever timed out (about 10 seconds was sufficient), I interpreted this as end of job and dropped the connection. If more than one job was in the queue, these would be sent without any pause but would have a packet sent with psm$k_start_task (A task being a full print job (all files)). This seems to work fairly well. Also, Any print/passall command will cause the symbiont to loop forever. However, if you can create or munge the file to be printed with /passall into a file with carriage control=none, It will have the same effect as /passall. Random (Randy Buckland) Research Triangle Institute ...!mcnc!rti-sel!rcb