From 95f694cfe745fddf9c3f28fc258db10a1a2e5523 Mon Sep 17 00:00:00 2001
From: Jeff Hill If logMsg was called by netTask it could cause the
-ioc to hang.
-To fix this problem the method of trapping logMsg calls has been changed.
-The fix also means that any code that calls errlogAddListener, e.g.
-CMLOG, will now receive the logMsg messages. Previously if a dbGetLink failed on one of the input links, dbGetLink
-was not called for the remaining links. Now it is. Previously if a dbGetLink failed on one of the input links, dbGetLink was
+not called for the remaining links. Now it is. put notify did not act properly if a record had disp=TRUE, i.e.
-if puts are disabled. It now returns putNotifyPutDisabled. put notify did not act properly if a record had disp=TRUE, i.e. if puts
+are disabled. It now returns putNotifyPutDisabled. This is no longer supported devLib is now supported on vxWorks and RTEMS.
-It has been moved from src/vxWorks/src to src/libCom/osi.
-devLibVirtualOS has been extended to support allocating A24 addresss
-and an init method. devLib is now supported on vxWorks and RTEMS. It has been moved from
+src/vxWorks/src to src/libCom/osi. devLibVirtualOS has been extended to
+support allocating A24 addresss and an init method.Changes since 3.14.2
errlog and logMsg
-calcRecord and calcoutRecord
-put notify
-fastlock.h
+
devLib
-vxWorks dependent modules moved
-The following have been moved from src/vxWorks/src to src/libCom/osi/os/vxWorks:
-camacLib.h, drvTS.c, drvTS.h, epicsDynLink.c, epicsDynLink.h, module_types.h,
-task_params.h, veclist.c. Brief documentation has been added to the Application
-Developer's Guide.
On POSIX systsems if a Channel Access application spawns off 3rd party +
On POSIX systems if a Channel Access application spawns off 3rd party software with an exec() call then all open file desriptors are inherited unless the close-on-exec flag is set for each file descriptor. A new wrapper function was created so that all sockets created in EPICS base will have the @@ -59,8 +58,8 @@ This step was no longer required and therefore was removed from the code.
The tmpfile() function on windows requires that all temporary files be stored in the root folder. The antelope (yacc) tool in base was calling -tmpfile() and this was causing problems at sites where win32 systems have -remmotely mounted secure file systems. A wrapper function called "FILE * +tmpfile() and this was causing problems at sites where win32 systems use +remotely mounted secure file systems. A wrapper function called "FILE * epicsTempFile()" that creates a temporary file on WIN32 with a name epicsNNN using one of the following paths was installed into libCom. It searches starting with (1) below and stops when it finds a specified path that exists. @@ -190,7 +189,16 @@ create a specialized vxWorks device driver which calls errlogPrintf for each incoming message and then call logFdAdd for a file descriptor opened with that device driver. The desirable functional change being errlogPrintf's capability to discard messages when it gets behind (because of a transient -mbuf starvation situation).
+mbuf starvation situation). The fix also means that any code that calls +errlogAddListener on vxWorks, e.g. CMLOG, will now receive the logMsg +messages. + +The symptom is a CA client program that fails with a segmentation +violation on Linux shortly after calling ca_task_exit()or +ca_context_destroy(). A fix will show up in R3.14.3. Regression tests were +updated to detect this type of problem.