1 | Changes made to lpr/lpd system |
---|
2 | |
---|
3 | Starred (*) items should get propagated back to Berkeley. |
---|
4 | |
---|
5 | printjob.c Changed abortpr so that the lock file is closed immediately, |
---|
6 | so that other lpd's can start printing other files. Also, 30 |
---|
7 | seconds after the output filters receive a SIGTERM, if |
---|
8 | they have not exited yet, abortpr sends them a SIGKILL |
---|
9 | to wipe them out. |
---|
10 | [tytso:19890114.2255EST]* |
---|
11 | |
---|
12 | lpd.c Changed MAX_ATHENA_SUBNET to be 18.141 instead of 18.92, |
---|
13 | so that mit-pika is included part of the "athena |
---|
14 | network", so that a hostname check is not necessary. |
---|
15 | We may want to dike out this code completely, and just |
---|
16 | let anybody in 18.*.*.* to print a file.... since anybody |
---|
17 | whose IP address resolves into a hostname can print |
---|
18 | a file anyway.... |
---|
19 | [tytso:19890114.2228EST] |
---|
20 | |
---|
21 | lpd.c Instead of using the version of startdaemon found in |
---|
22 | startdaemon.c, which opens a connection to lpd and sends |
---|
23 | it a command to start a printer daemon, use a version |
---|
24 | of startdaemon that forks a child which becomes the printer |
---|
25 | daemon, since a copy of lpd is running anyway.... |
---|
26 | [tytso:19890114.2106EST]* |
---|
27 | |
---|
28 | s_displayq.c Instead of printing: |
---|
29 | |
---|
30 | "Printer daemon %d does not exist yet, try again in a few minutes", |
---|
31 | |
---|
32 | (This message is bogus, since it got the pid from |
---|
33 | the lock file, which meant that the daemon must |
---|
34 | have existed at one time to write the lock file |
---|
35 | in the first place. Lose, lose) |
---|
36 | s_displayq attempts to start a new printer daemon. |
---|
37 | If it succeeds, it prints: |
---|
38 | |
---|
39 | "Printer daemon %d does not exist; restarting a new one" |
---|
40 | |
---|
41 | If it fails, it prints: |
---|
42 | |
---|
43 | "Printer daemon $d does not exist; could not start a new one!" |
---|
44 | |
---|
45 | [tytso:19890113.2223EST]* |
---|
46 | |
---|
47 | |
---|
48 | rmjob.c Each control file in the spool directory is locked by |
---|
49 | printjob.c by printjob while it is being processed, and locked by |
---|
50 | rmjob before it is removed. If printjob attempts to |
---|
51 | lock a control file and it is already locked, it defers |
---|
52 | processing the job until later (probably when it checks |
---|
53 | again, it will be gone.) If rmjob attempts to lock a |
---|
54 | control file and it is already locked, it trys to kill |
---|
55 | the the currently active line printer daemon. This fixes |
---|
56 | a race condition which caused the lpd to hang until |
---|
57 | it was forcibly restarted. |
---|
58 | [tytso:19890113.2107EST]* |
---|
59 | |
---|
60 | (source Files in /source/4.3/usr.lib/lpr and in /source/4.3/ucb/lpr |
---|
61 | directory) were merged. lpr, lpq, and lprm do not spool files into |
---|
62 | the spool directory but instead send files directly to |
---|
63 | lpd via the network. s_lpr, s_lpq, and s_lprm are the |
---|
64 | original versions which do access to the spool directory. |
---|
65 | [tytso:19890113.1630EST] |
---|