Merged changes from 3.14 branch

Fixed issues building on Solaris.

Up to revno 12497.
This commit is contained in:
Andrew Johnson
2014-09-25 16:34:12 -05:00
28 changed files with 159 additions and 96 deletions
+8 -8
View File
@@ -631,7 +631,7 @@ standard out for each CA client beacon anomaly detect event.</p>
<p>See also <a href="#Client1">When a Client Does not See the Server's
Beacon</a>.</p>
<h3><a name="Configurin3" id="Configurin3">Configuring the Maximum Search
<h3><a name="Configurin3">Configuring the Maximum Search
Period</a></h3>
<p>The rate at which name resolution (search) requests are sent exponentially
@@ -896,9 +896,9 @@ feature.</em></p>
<p>See also <a href="#Routing">Routing Restrictions on vxWorks Systems</a>.</p>
<hr>
<h2><a name="Building" id="Building">Building an Application</a></h2>
<h2><a name="Building">Building an Application</a></h2>
<h3><a name="Required1" id="Required1">Required Header (.h) Files</a></h3>
<h3><a name="Required1">Required Header (.h) Files</a></h3>
<p>An application that uses the CA client library functions described in this
document will need to include the cadef.h header files as follows.</p>
@@ -910,7 +910,7 @@ many other header files (operating system specific and otherwise), and
therefore the application must also specify "&lt;EPICS
base&gt;/include/os/&lt;arch&gt;" in its header file search path.</p>
<h3><a name="Required" id="Required">Required Libraries</a></h3>
<h3><a name="Required">Required Libraries</a></h3>
<p>An application that uses the Channel Access Client Library functions
described in this document will need to link with the EPICS CA Client Library
@@ -956,7 +956,7 @@ and Windows systems.</p>
<p>The above libraries are located in "&lt;EPICS
base&gt;/lib/&lt;architechture&gt;".</p>
<h3><a name="Compiler" id="Compiler">Compiler and System Specific Build
<h3><a name="Compiler">Compiler and System Specific Build
Options</a></h3>
<p>If you do not use the EPICS build environment (layered make files) then it
@@ -1641,7 +1641,7 @@ etc.</p>
</tbody>
</table>
<h3><a name="excas" id="excas">excas</a></h3>
<h3><a name="excas">excas</a></h3>
<p>excas [options]</p>
@@ -1933,7 +1933,7 @@ made to build a new circuit. This behavior could result in undesirable resource
consumption resulting from periodic circuit setup and teardown overhead
(thrashing) during periods of CPU / network / IP kernel buffer congestion.</p>
<h3><a name="Requests" id="Requests">Put Requests Just Prior to Process
<h3><a name="Requests">Put Requests Just Prior to Process
Termination Appear to be Ignored</a></h3>
<p>Short lived CA client applications that issue a CA put request and then
@@ -2555,7 +2555,7 @@ questionable practice for the following reasons.</p>
is the same behavior as on all other OS.</li>
</ul>
<h3><a name="Calling1" id="Calling1">Calling CA Functions from POSIX signal
<h3><a name="Calling1">Calling CA Functions from POSIX signal
handlers</a></h3>
<p>As you might expect, it isnt safe to call the CA client library from a POSIX
+2 -2
View File
@@ -57,9 +57,9 @@ void getCallback::completion (
// fetch client context and destroy prior to releasing
// the lock and calling cb in case they destroy channel there
this->chan.getClientCtx().destroyGetCallback ( guard, *this );
{
if ( pFuncTmp ) {
epicsGuardRelease < epicsMutex > unguard ( guard );
( *pFuncTmp ) ( args );
pFuncTmp ( args );
}
}
+6
View File
@@ -343,6 +343,9 @@ int epicsShareAPI ca_array_get_callback ( chtype type,
if ( type < 0 ) {
return ECA_BADTYPE;
}
if ( pfunc == NULL ) {
return ECA_BADFUNCPTR;
}
unsigned tmpType = static_cast < unsigned > ( type );
epicsGuard < epicsMutex > guard ( pChan->cacCtx.mutexRef () );
@@ -416,6 +419,9 @@ int epicsShareAPI ca_array_put_callback ( chtype type, arrayElementCount count,
if ( type < 0 ) {
return ECA_BADTYPE;
}
if ( pfunc == NULL ) {
return ECA_BADFUNCPTR;
}
epicsGuard < epicsMutex > guard ( pChan->cacCtx.mutexRef () );
pChan->eliminateExcessiveSendBacklog ( guard );
unsigned tmpType = static_cast < unsigned > ( type );
+2 -2
View File
@@ -638,7 +638,7 @@ not follow this pattern, but are still printable strings.
=item [1] R3.14 Channel Access Reference Manual by Jeffrey O. Hill
L<http://www.aps.anl.gov/epics/base/R3-14/11-docs/CAref.html>
L<http://www.aps.anl.gov/epics/base/R3-14/12-docs/CAref.html>
=back
@@ -649,7 +649,7 @@ Andrew Johnson, E<lt>anj@aps.anl.govE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2008 UChicago Argonne LLC, as Operator of Argonne National
Copyright (C) 2008-2014 UChicago Argonne LLC, as Operator of Argonne National
Laboratory.
This software is distributed under the terms of the EPICS Open License.
+2 -2
View File
@@ -57,9 +57,9 @@ void putCallback::completion ( epicsGuard < epicsMutex > & guard )
// fetch client context and destroy prior to releasing
// the lock and calling cb in case they destroy channel there
this->chan.getClientCtx().destroyPutCallback ( guard, *this );
{
if ( pFuncTmp ) {
epicsGuardRelease < epicsMutex > unguard ( guard );
( *pFuncTmp ) ( args );
pFuncTmp ( args );
}
}
+3 -1
View File
@@ -30,9 +30,11 @@ INC += dbMapper.h
INC += gddAppTable.h
INC += gddAppFuncTable.h
INC += smartGDDPointer.h
INC += gddApps.h
INC += gddEnumStringTable.h
# Can't put this in INC, it causes a circular build dependency
TARGETS += $(INSTALL_INCLUDE)/gddApps.h
HTMLS += gdd.html
HTMLS += gddref.html
HTMLS += gddref2.html