home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC-Online 1996 February
/
PCOnline_02_1996.iso
/
software
/
topdown
/
winisdn
/
twsk95b4
/
run
/
readme.now
next >
Wrap
Text File
|
1996-01-03
|
6KB
|
151 lines
Notes for the Beta Release of Trumpet Winsock for Windows 95
------------------------------------------------------------
Installation
------------
*IMPORTANT* You must rename the standard MS winsock Dll's in c:/windows/
to another name.
e.g.
cd \windows
rename winsock.dll winsock.ms
rename wsock32.dll wsock32.ms
The winsock should run without any drama with a minimum of installation
changes from the regular win3.x winsock. If you have the regular winsock
running, just add/replace the following files in the same directory.
The required files:
tcpman.exe - as for win3.x winsock
winsock.dll - as for win3.x winsock
twsk16.dll - 16 bit interface layer
wsock32.dll - 32 bit thunking winsock
These *must* be on the program path.
Compatibility
-------------
All the functions available from the regular Trumpet Winsock are there.
However, the GetXbyY routines, and WSAAsyncGetXbyY routines have required
recoding into win32 and are currently cut down in functionality
& may be less robust.
The following win32 winsock applications have been tested with this winsock.
Netscape 32 - no apparent problems.
WinQvtNet 32 - no apparent problems.
WS_FTP 32 - no apparent problems.
HotJava - crashes regularly. Reason unknown.
WinVN - no apparent problems.
MS Telnet - no apparent problems.
MS FTP - no apparent problems.
Super Mosaic - no apparent problems.
Trouble spots
-------------
Since the winsock is required to manage it's resources with the possibility
of being preempted, this version of the winsock now contains special locks
to prevent reentrancy. This has required the use of the yield() function,
which may have an impact on some win16 programs. Only rudimentary testing
of win16 programs has been done in this area.
Should an application crash while a winsock lock is being held (for e.g.
HotJava) the lock may still be left on. The winsock attempts to detect
this deadlock condition and clears the lock. However, in the event of
this happening, the winsock may be left in an unstable state. All tests
have shown that the winsock remains stable in such a case, but stability
cannot be guaranteed under those conditions. The winsock will display a
message on the tcpman console should this arise. If the winsock has been
unable to recover from such an error condition, it may remain deadlocked.
To clear such an error, you can try to terminate the Trumpet Winsock TCPMAN
task using the ctrl-alt-del combination. A windows restart may however
still be required occasionally.
The GetXbyY routines use a global return result in wsock32.dll. I'm not
sure if each win32 process get's a separate instance of the wsock32
data area. If not, there may be trouble with sharing the single global
return result.
WS_FTP32 uses a winsock callback function. While it seems to work
correctly, I'm not too sure what will happen when the memory compacter
starts to shift things around in memory. Watch out when physical
memory gets low.
WSAAsyncGetXbyY routines start a thread which is local to the process
calling it. Hopefully that won't be a problem for most apps.
Also, no size checking is done of the buffers passed to it. Make sure
the win32 apps do the right thing.
How it works.
-------------
The tcpman.exe & winsock.dll are much the same as in windows 3.x.
When a win32 application requires the winsock, it loads wsock32.dll which
will in turn loads twsk16.dll.
Most functions are passed directly to the winsock. The exceptions are
the getXbyY routines, and the WSAAsyncGetXbyY routines.
Bug reports
-----------
Send to winsock-support@trumpet.com.au
Enjoy!!!
Peter T.
Patch List
----------
Beta 1
Initial Release
Beta 2
Fixed GPF caused by WSAUnhookBlockingHook
Tried to optimize blocking sockets... blocking sockets hogging CPU
Added an dummy entry for s_perror (Allows MS FTP.EXE to run)
Beta 3
Fixed GPF caused by gethostbyname/gethostbyaddr (affects Super Mosaic)
blocking sockets still hog CPU (affects WS_FTP32)
Beta 4
Seemed to have fixed the CPU hogging problem. One Caveat though...
If the winsock traces are on, applications can still lock up - see
following section on fixing lock ups. There may be other circumstances
where a lock up may occur.
How to fix lock ups.
--------------------
You will find that some apps will not respond, but win95 will still work
for win32 apps.
1) press ctl-alt-del. You should get a list of applications that are not
responding. (Win95 may not show these until some time has elapsed)
2) try to kill off any locked win16 applications first. This should *usually*
clear the problem. Be patient, win95 may not terminate them immediately.
To kill a win32 application, see 4).
3) then close down all other winsock applications. Chances are that the
winsock has been left in a tricky state. It will probably still work, but
will operate less efficiently than normal. If the cause of the problem has
been a win16 application, tcpman should close down the winsock normally. IT
IS RECOMMENDED THAT YOU ALWAYS CLOSE DOWN THE WINSOCK WHENEVER THERE HAS
BEEN A LOCK UP.
4) if you have had to kill off any win32 winsock applications, you will need
to restart windows. This is because the files winsock.dll, twsk16.dll and
wsock32.dll will still be locked in memory even though no winsock apps may be
running. You can do this by either rebooting, or shutdown/restart in MS-DOS
mode and then typing "exit".
Please note the distinction between closing an application normally and
killing off an application. closing is done by normally exiting the
application using the close button or similar mechanisms. Killing an
application is done by using ctrl-alt-del and following the win95 terminate
program dialogs.