craig@lupus.cc.deakin.OZ (Craig Bishop) (09/08/88)
The problem we have is that the terminal server accepts a connection, reads the data from the connection and starts to transfer the data to the printer. The print program running on the host (we are using MDQS) finishes and sleeps a respectable time in which it expects it's ethernet buffers to clear. The code then issues a shutdown and a close on the socket and exits. The terminal server has not yet issued a shutdown as it is still transfering data to the printer. So netstat shows the socket go thru the phases of FIN_WAIT_1, FIN_WAIT_2 and CLOSE_WAIT. Meanwhile the queueing system has another request to print and asks for and gets another connection from the terminal server usually while the FIN_WAIT_2 is current. The terminal server shuts down the connection before the print program finishes it's sleep and the data is lost. Meanwhile the terminal server continues to complete the first print request. We have fudged a fix by allocating port numbers to each printer and sleeping on EADDRINUSE errors, but can the terminal server handle this. Our Bridge revision numbers etc. are: Terminal Server SW/1-TCP-20000 MCPU Prom Rev 01k EC Prom Rev 01f SI016 Prom Rev 11050 Craig Bishop ARPA: craig%lupus.cc.deakin.oz.au@uunet.uu.net UUCP: ...!uunet!munnari!lupus.cc.deakin.oz!craig