[ECOS] Problems when aborting tftp transfers

Øyvind Harboe oyvind.harboe@zylin.com
Tue Aug 3 06:40:00 GMT 2004

I haven't got the setup available right now, but I think I remember the steps 
to reproduce a bit better:

1. start tftp transfer
2. abort tftp transfer
3. at this point the new tftp server thread is waiting for timeout on
4. start new tftp transfer
5. wait a bit(but not long enough for tftp transfer to start).
6. abort tftp transfer
7. at this point the tftp server is stuck in the main loop timing out on
WRQ requests. Each WRQ request requires a tftpd_write_file() to time out, so
this takes a loooong time.

My working theory is that the Windows tftp client, in #4,
filled up the socket with WRQ requests while it was trying 
to get in touch with the tftp server. Closing and opening the sockets,
which happens as an unintended(?) side effect of setting
CYGSEM_NET_TFTPD_MULTITHREADED=1, flushes any such obsolete
WRQ requests.

Once I some time and my hands on the system again, I'll run the 
above tests and try to capture some packages. I'll also try to remove
Windows from the equation by reproducing the problem with a Linux
tftp client.

Øyvind Harboe

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list