home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / unix / sysv386 / 16356 < prev    next >
Encoding:
Text File  |  1992-11-09  |  1.6 KB  |  36 lines

  1. Newsgroups: comp.unix.sysv386
  2. Path: sparky!uunet!ukma!asuvax!ennews!anasaz!duane
  3. From: duane@anasazi.com (Duane Morse)
  4. Subject: TCP/IP t_close/close blocks when data is outstanding -- any relief?
  5. Organization: Anasazi, Inc.  Phoenix, Arizona USA
  6. Date: Tue, 10 Nov 1992 02:00:15 GMT
  7. Message-ID: <1992Nov10.020015.27449@anasazi.com>
  8. Sender: usenet@anasazi.com (Usenet News)
  9. Lines: 25
  10.  
  11. Under the latest release of 386/IX, we have found that t_close (under
  12. TLI) and close (under Berkeley sockets) both block the calling processes
  13. for about 2 minutes if there's data waiting to be sent or acknowledged.
  14. In our test scenario, we unplug one machine from the Ethernet LAN after
  15. having established a connection from another machine.  If we send data
  16. after the connection has been dropped and then decide to close the
  17. connection, the program blocks.
  18.  
  19. The sockets version is using the SO_LINGER option with 0 as the timeout,
  20. and I've tried an ioctl(fd, I_FLUSH, FLUSHW) on the TLI version before
  21. calling t_close, all to no avail.
  22.  
  23. The TLI version of the same test software also blocks under NCR's Sys V R 4
  24. OS on a 3433 and under SCO Unix unless I use the I_FLUSH trick, in which
  25. case they don't block.  I haven't worked on the sockets version long enough
  26. on those platforms to perform the same test.
  27.  
  28. Has anyone encountered this problem under 386/IX and figured out how
  29. to get around it?  The primary application using TCP/IP at our company
  30. is supposed to be non-blocking because it handles multiple connections,
  31. and it's very rude for it to block when trying to close a connection.
  32. -- 
  33.  
  34. Duane Morse    e-mail: duane@anasazi.com
  35. (602) 861-7609
  36.