changes for epicsExit and epicsStdio

This commit is contained in:
Marty Kraimer
2004-08-27 13:39:39 +00:00
parent 916038e13a
commit 2c7e345a00

View File

@@ -8,32 +8,94 @@
<body lang="en">
<h1 align="center">EPICS Base Release 3.14.7<br>
20 August 2004</h1>
27 August 2004</h1>
<h2 align="center">Changes since 3.14.6</h2>
<h4>POSIX signals</h4>
<p>Signals are blocked in all but the main thread. Applications/drivers
<p>Signals are blocked in all but the main thread. Applications/drivers
which require signal delivery to a subthread will need to be modified.</p>
<h4>epicsExit</h4>
Three new functions are implemented: <span
style="font-family: courier">epicsExit</span>, <span
style="font-family: courier">epicsExitCallAtExits</span>, and <span
style="font-family: courier">epicsAtExit</span>. These are similar to <span
style="font-family: courier">exit</span> and <span
style="font-family: courier">atexit</span>, i.e. they provide the ability to
register a function to be called when the process exits. They are provided
becase neither vxWorks or win32 properly implement <span
style="font-family: courier">exit</span> and <span
style="font-family: courier">atexit</span>. Note that they apply to an IOC
stopping NOT to a thread exiting.
<h4>epicsStdio and epicsStdioRedirect</h4>
<p>In order to support iocsh redirection of <span
style="font-family: courier">stdin</span>, <span
style="font-family: courier">stdout</span>, and <span
style="font-family: courier">stderr</span>, <span
style="font-family: courier">epicsStdio.h</span> defines the following new
functions: <span style="font-family: courier">epicsGetStdin</span>, <span
style="font-family: courier">epicsGetStdout</span>, <span
style="font-family: courier">epicsGetStderr</span>, <span
style="font-family: courier">epicsSetStdin</span>, <span
style="font-family: courier">epicsSetStdout</span>, <span
style="font-family: courier">epicsSetStderr</span>, and <span
style="font-family: courier">epicsStdoutPrintf</span>. <span
style="font-family: courier">epicsStdioRedirect.h</span> defines macros that
redefine <span style="font-family: courier">stdin</span>, <span
style="font-family: courier">stdout</span>, <span
style="font-family: courier">stderr</span>, and <span
style="font-family: courier">printf</span>.</p>
<p>Any code that includes <span
style="font-family: courier">epicsStdioRedirect.h</span> will automatically
have it's stdio redirected. It has been added to many files in base. If code
called by dbior wants it's output redirected, it must also include this
file.</p>
<h4>IOC Test Facilities</h4>
<p>Any command that previously had an argument for a report file name no
longer has the argument. The new iocsh redirection capability is now used.
For example the former command:</p>
<pre> dbl "0" reportName</pre>
<pre>Is now:</pre>
<pre> dbl &gt; reportName</pre>
Note that this does NOT work on the vxWorks shell only on iocsh. On the
vxWorks shell the following command can be given:
<pre> iocshCmd("dbl &gt; reportName")</pre>
<h4>errlog</h4>
<p>errlog now calls atexit and releases all resources when process exits.</p>
<p>errlog now calls <span style="font-family: courier">epicsAtExit</span> and
releases all resources when <span
style="font-family: courier">epicsExitCallAtExits</span> is callled..</p>
<h4>iocsh</h4>
<p>Input/output redirection added. Explicit "filename" arguments removed from
many commands. iocshCmd routine added (callable from vxWorks shell).</p>
<p>Input/output redirection added. iocshCmd routine added (callable from
vxWorks shell).</p>
<h4>caloutRecord</h4>
<p>The ODLY (Output Delay) was not handled properly. This is fixed.</p>
<h4>dbAccess DBR_ENUM_STRS for field DTYP</h4>
<p>Data Base Request Option DBR_ENUM_STRS for the DTYP field of
soft records can cause an IOC to crash.</p?
<p>Data Base Request Option DBR_ENUM_STRS for the DTYP field of soft records
can cause an IOC to crash.</p?<h2align="center"></p>
<h2 align="center">Changes since 3.14.5</h2>
<h4>CA command line tools complete</h4>
<p>The complete set of Channel Access command line tools (caget, caput,
camonitor, cainfo) is available as announced during the May 2004
Collab. meeting. Documentation is part of the CA Reference Manual. Be
aware of possible name conflicts with existing local tools.</p>
camonitor, cainfo) is available as announced during the May 2004 Collab.
meeting. Documentation is part of the CA Reference Manual. Be aware of
possible name conflicts with existing local tools.</p>
<h4>IOC template file configure/RULES.iocBoot removed</h4>