home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 8 Other
/
08-Other.zip
/
libup5.exe
/
CHANGES.410
< prev
next >
Wrap
Text File
|
1995-03-16
|
6KB
|
125 lines
CLIB.NLM 4.1D Quarterly Release
==========================================================================
Symptom : API NWQScanJobNums would sometimes return an incorrect
queueSequence.
Solution: The previous calculation was only correct for the first
iteration, when the initial value is set to zero. After the first
iteration a job position gets skipped each subsequent itteration.
It has also been determined that the "proper" initial value is one
instead of zero. The fixed code works correctly with either
initial value, but using a 1 on CLIB.NLM without this fix will cause
problems if more than one scan is done.
Symptom : Using Meridian Technologies TCP/Crossprint (TCPCP.NLM),
it has been observed that ResumeThread will abend the server
when used on a thread that no longer exists. This apparently
did not occur before in 4.01 and 4.02.
Solution: Added to ResumeThread the call Validate Mapped Memory to
check if we are getting a pointer passed-in which is not mapped
in.
Symptom : Unresolved symbols Alloc and Free appearing while compiling
with Watcom Compiler.
Solution: Added Alloc and Free back into CLIB.IMP because the
Watcom C++ static link library expects them to be available.
Even though CLIB still want people to move away from using
them and that's why they have been rightly removed from CLIB.IMP,
the fact that Watcom's static link library references them
makes it necessary to put these symbols back in CLIB.IMP.
Symptom : NLM Headers are not compiling correctly with the latest
Watcom SDK.
Solution: Made changes to be compatible with the Watcom C++
compilers / static linked C++ support library. A problem in
ctype.h was found, in which signed pointer arithmetic was done
instead of unsigned arithmetic. The following new header files
are needed to avoid conflicts while compiling with WATCOM 9.5 and
above.
CTYPE.H, FLOAT.H, NWLOCALE.H, NWCONN.H,
NEWIN400.H, OSITLI.H, CONIO.H, PROCESS.H,
SETJMP.H, STDIO.H, LIBRARY.H, ADVANCED.H,
STRING.H, MATH.H, STDDEF.H, STDLIB.H,
SYS/SOCKET.H, SYS/BSDSKT.H.
These header files are found on CompuServe in the NDEVSUP form,
directory, 05. The file is called UW10.EXE.
Symptom : With the NFS Gateway loaded, any attempt by an NLM to
access the "switched" volumes will cause the server to AbEnd. The
"switched" volumes are those that are available to the NCP
clients by the gateway, but are actually an exported path on the
host UNIX box.
Solution: The APIs, GetVolumeStatistics() and GetVolumeInformation()
conditionalized the access to a NetWare OS call since it is not
accessible on a remote volume (volume switched).
Symptom : API DownFileServer was not working correctly on the
IOEngine of SFT III.
Solution: On the IOEngine DownFileServer was calling an OS call that
did not exist.CLIB has conditionalized the access to the OS call.
Symptom : 4.1 server abends in NXPIP - in Get_SNMP_REQUEST.
Solution: The NXPIP calls select (CLIB), which calls bsd_select (CLIB),
which calls ScheduleNoSleepAESEvent (CLIB). If some rare case,
an AESProcessStructure may be located at the same address as
an old AESProcessStructure. When this happens, the
AOldLink field may be some valid value.
ScheduleNoSleepAESEvent was not setting the AOldLink flag
to NULL.
Symptom : API __Open() functionallity changed.
Solution: Added pre_401d_functionality to __open() so Artisoft
and Gupta work when same process is opening the same file
multiple times (Pass in the shflag with the high bit set).
Symptom : When running Advantage Xbase Server on a 3.12 system, the
connection between the client and the Xbase server will hang.
If you attempt to clear the connection by MONITOR, monitor
will also hang.
Solution: The problem appears to be a timing issue. When the timing is
just right we have a deadlock situation. Here is what is
happening. A certain thread will call EnterCritSec twice before
calling ExitCritSec. This disables all other threads in the NLM.
This thread will continue to call EnterCritSec and ExitCritSec
until it calls DisableConnection. Now after Disable connection
it calls open which blocks. Once the thread blocks it will notice
that its nested count for the critsec is up one (because of the
two in a row) . It will then put itself to sleep until another
ExitCritSec is called. This never happens and the connection
stays disabled.
Symptom : Changing the IP address of a server while NFS modules are
loaded, then unloading those modules (unistop.ncf) AbEnds a
NetWare 4.10 server. NFS is v2.0 (rel 30.18).
Solution: Disabled the return flags in the timer handler which fixes the
problem.
Symptom : API NFSParsePath() changed fuctionallity.
Solution: NFSParsePath() has been updated to be exactly like it was prior
to Feb. '93 which was the date a change was made to use
NWLstrchr() instead of strtok(), thus breaking the NFS path
parser.
=============================================================================