home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 February / PCOnline_02_1996.iso / software / topdown / winisdn / twsk95b4 / run / readme.now next >
Text File  |  1996-01-03  |  6KB  |  151 lines

  1. Notes for the Beta Release of Trumpet Winsock for Windows 95
  2. ------------------------------------------------------------
  3.  
  4. Installation
  5. ------------
  6.  
  7. *IMPORTANT*  You must rename the standard MS winsock Dll's in c:/windows/
  8. to another name.
  9. e.g.
  10.         cd \windows
  11.         rename winsock.dll winsock.ms
  12.         rename wsock32.dll wsock32.ms
  13.  
  14. The winsock should run without any drama with a minimum of installation 
  15. changes from the regular win3.x winsock.  If you have the regular winsock 
  16. running, just add/replace the following files in the same directory.
  17.  
  18. The required files:
  19.  
  20. tcpman.exe           - as for win3.x winsock
  21. winsock.dll          - as for win3.x winsock
  22. twsk16.dll           - 16 bit interface layer
  23. wsock32.dll          - 32 bit thunking winsock
  24.  
  25. These *must* be on the program path.
  26.  
  27. Compatibility
  28. -------------
  29.  
  30. All the functions available from the regular Trumpet Winsock are there.
  31.  
  32. However, the GetXbyY routines, and WSAAsyncGetXbyY routines have required 
  33. recoding into win32 and are currently cut down in functionality
  34. & may be less robust.
  35.  
  36. The following win32 winsock applications have been tested with this winsock.
  37.  
  38. Netscape 32     - no apparent problems.
  39. WinQvtNet 32    - no apparent problems.
  40. WS_FTP 32       - no apparent problems.
  41. HotJava         - crashes regularly.  Reason unknown.
  42. WinVN           - no apparent problems.
  43. MS Telnet       - no apparent problems.
  44. MS FTP          - no apparent problems.
  45. Super Mosaic    - no apparent problems.
  46.  
  47. Trouble spots
  48. -------------
  49. Since the winsock is required to manage it's resources with the possibility 
  50. of being preempted, this version of the winsock now contains special locks 
  51. to prevent reentrancy.  This has required the use of the yield() function, 
  52. which may have an impact on some win16 programs.  Only rudimentary testing
  53. of win16 programs has been done in this area.
  54.  
  55. Should an application crash while a winsock lock is being held (for e.g. 
  56. HotJava) the lock may still be left on.  The winsock attempts to detect
  57. this deadlock condition and clears the lock.  However, in the event of 
  58. this happening, the winsock may be left in an unstable state.  All tests 
  59. have shown that the winsock remains stable in such a case, but stability
  60. cannot be guaranteed under those conditions.  The winsock will display a 
  61. message on the tcpman console should this arise.  If the winsock has been
  62. unable to recover from such an error condition, it may remain deadlocked.
  63. To clear such an error, you can try to terminate the Trumpet Winsock TCPMAN 
  64. task using the ctrl-alt-del combination.   A windows restart may however 
  65. still be required occasionally.
  66.  
  67. The GetXbyY routines use a global return result in wsock32.dll.  I'm not 
  68. sure if each win32 process get's a separate instance of the wsock32 
  69. data area.  If not, there may be trouble with sharing the single global 
  70. return result.
  71.  
  72. WS_FTP32 uses a winsock callback function.  While it seems to work 
  73. correctly, I'm not too sure what will happen when the memory compacter 
  74. starts to shift things around in memory.  Watch out when physical 
  75. memory gets low.
  76.  
  77. WSAAsyncGetXbyY routines start a thread which is local to the process 
  78. calling it.  Hopefully that won't be a problem for most apps.
  79. Also, no size checking is done of the buffers passed to it.  Make sure 
  80. the win32 apps do the right thing.
  81.  
  82. How it works.
  83. -------------
  84. The tcpman.exe & winsock.dll are much the same as in windows 3.x.
  85. When a win32 application requires the winsock, it loads wsock32.dll which 
  86. will in turn loads twsk16.dll.
  87.  
  88. Most functions are passed directly to the winsock.  The exceptions are
  89. the getXbyY routines, and the WSAAsyncGetXbyY routines.
  90.  
  91. Bug reports
  92. -----------
  93.  
  94. Send to winsock-support@trumpet.com.au
  95.  
  96. Enjoy!!!  
  97.  
  98. Peter T.
  99.  
  100. Patch List
  101. ----------
  102. Beta 1
  103.     Initial Release
  104. Beta 2
  105.     Fixed GPF caused by WSAUnhookBlockingHook
  106.     Tried to optimize blocking sockets...  blocking sockets hogging CPU
  107.     Added an dummy entry for s_perror (Allows MS FTP.EXE to run)
  108.  
  109. Beta 3
  110.     Fixed GPF caused by gethostbyname/gethostbyaddr (affects Super Mosaic)
  111.     blocking sockets still hog CPU (affects WS_FTP32)
  112.  
  113. Beta 4
  114.     Seemed to have fixed the CPU hogging problem.  One Caveat though...
  115.     If the winsock traces are on, applications can still lock up - see
  116.     following section on fixing lock ups.  There may be other circumstances
  117.     where a lock up may occur.
  118.  
  119.  
  120. How to fix lock ups.
  121. --------------------
  122.  
  123. You will find that some apps will not respond, but win95 will still work
  124. for win32 apps.
  125.  
  126. 1) press ctl-alt-del.  You should get a list of applications that are not
  127. responding.  (Win95 may not show these until some time has elapsed)
  128.  
  129. 2) try to kill off any locked win16 applications first.   This should *usually*
  130. clear the problem.  Be patient, win95 may not terminate them immediately.
  131. To kill a win32 application, see 4).
  132.  
  133. 3) then close down all other winsock applications.  Chances are that the
  134. winsock has been left in a tricky state.  It will probably still work, but
  135. will operate less efficiently than normal.  If the cause of the problem has
  136. been a win16 application, tcpman should close down the winsock normally. IT
  137. IS RECOMMENDED THAT YOU ALWAYS CLOSE DOWN THE WINSOCK WHENEVER THERE HAS
  138. BEEN A LOCK UP.
  139.  
  140. 4) if you have had to kill off any win32 winsock applications, you will need
  141. to restart windows.  This is because the files winsock.dll, twsk16.dll and
  142. wsock32.dll will still be locked in memory even though no winsock apps may be
  143. running.  You can do this by either rebooting, or shutdown/restart in MS-DOS
  144. mode and then typing "exit".
  145.  
  146. Please note the distinction between closing an application normally and
  147. killing off an application.  closing is done by normally exiting the
  148. application using the close button or similar mechanisms.  Killing an
  149. application is done by using ctrl-alt-del and following the win95 terminate
  150. program dialogs.
  151.