1-15-1998 Ben Woodard While you have all been limping along with the current version of npadmin. I have been really busy quitely working on it. The biggest change is that I made was I made the program handle multiple printers on the command line. The way that I implemented this was to make the program multithreaded. Yes every bad thing that people say about threads is true. They are a real pain to debug but I think that I have finally gotten the knack of it. Overall, I am very pleased with the performance. I was able to query literally hundreds of printers without putting undue strain on my workstation. In the past, the only way to do this was to basically forkbomb a your computer. You would fork off a whole bunch of npadmin's and it would really tax your system for a couple of minutes. With this new multithreaded implementation I can very easily query 200 printers without phasing my workstation. I expect that this multithreading is going to introduce some porting problems. One knob that might need to be set differently on different OS's is found in npadmin.C and is called MAXTHREADS. This is the number of concurrent worker threads that npadmin can have. On my laptop running Linux I have had no problem with setting this to 100 which seems to be just fine. I expect that other OS's which don't have quite as generous threads implementation will need this turned down a bit. In general, the higher this number can be the faster npadmin can be when given large numbers of IP addresses. The purpose for this change is so that I can do some rather nifty scripts that find out the status of a whole bunch of printers all at once. I need to do this to do some interesting things at Cisco.