changes for epicsExit and epicsStdio
This commit is contained in:
@@ -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 > 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 > 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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user