moved template instances to a separate file
This commit is contained in:
+7
-21
@@ -36,20 +36,6 @@
|
||||
#include "autoPtrDestroy.h"
|
||||
#include "cac.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( push )
|
||||
# pragma warning ( disable:4660 )
|
||||
#endif
|
||||
|
||||
template class tsFreeList < CASG, 128 >;
|
||||
template class epicsSingleton < tsFreeList < struct CASG, 128 > >;
|
||||
template class tsFreeList < syncGroupReadNotify, 128, epicsMutexNOOP >;
|
||||
template class tsFreeList < syncGroupWriteNotify, 128, epicsMutexNOOP >;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( pop )
|
||||
#endif
|
||||
|
||||
epicsSingleton < tsFreeList < struct CASG, 128 > > CASG::pFreeList;
|
||||
|
||||
CASG::CASG ( oldCAC &cacIn ) :
|
||||
@@ -144,7 +130,7 @@ int CASG::block ( double timeout )
|
||||
|
||||
void CASG::reset ()
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
this->destroyCompletedIO ();
|
||||
this->destroyPendingIO ();
|
||||
}
|
||||
@@ -186,7 +172,7 @@ void CASG::show ( unsigned level ) const
|
||||
::printf ( "Sync Group: id=%u, magic=%u, opPend=%u\n",
|
||||
this->getId (), this->magic, this->ioPendingList.count () );
|
||||
if ( level ) {
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
::printf ( "\tPending" );
|
||||
tsDLIterConstBD < syncGroupNotify > notifyPending = this->ioPendingList.firstIter ();
|
||||
while ( notifyPending.valid () ) {
|
||||
@@ -206,7 +192,7 @@ bool CASG::ioComplete ()
|
||||
{
|
||||
bool isCompleted;
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
this->destroyCompletedIO ();
|
||||
isCompleted = ( this->ioPendingList.count () == 0u );
|
||||
}
|
||||
@@ -218,7 +204,7 @@ int CASG::put ( chid pChan, unsigned type, arrayElementCount count, const void *
|
||||
syncGroupWriteNotify * pNotify = 0;
|
||||
try {
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
pNotify = syncGroupWriteNotify::factory (
|
||||
this->freeListWriteOP, *this, pChan );
|
||||
if ( pNotify ) {
|
||||
@@ -283,7 +269,7 @@ int CASG::get ( chid pChan, unsigned type, arrayElementCount count, void *pValue
|
||||
syncGroupReadNotify * pNotify = 0;
|
||||
try {
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
pNotify = syncGroupReadNotify::factory (
|
||||
this->freeListReadOP, *this, pChan, pValue );
|
||||
if ( pNotify ) {
|
||||
@@ -340,7 +326,7 @@ int CASG::get ( chid pChan, unsigned type, arrayElementCount count, void *pValue
|
||||
|
||||
void CASG::destroyPendingIO ( syncGroupNotify * pNotify )
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
if ( pNotify ) {
|
||||
this->ioPendingList.remove ( *pNotify );
|
||||
pNotify->destroy ( *this );
|
||||
@@ -351,7 +337,7 @@ void CASG::completionNotify ( syncGroupNotify & notify )
|
||||
{
|
||||
unsigned requestsIncomplete;
|
||||
{
|
||||
epicsGuard < epicsMutex > locker ( this->mutex );
|
||||
epicsGuard < casgMutex > locker ( this->mutex );
|
||||
this->ioPendingList.remove ( notify );
|
||||
this->ioCompletedList.add ( notify );
|
||||
requestsIncomplete = this->ioPendingList.count ();
|
||||
|
||||
@@ -21,17 +21,6 @@
|
||||
#include "epicsGuard.h"
|
||||
#include "cacIO.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( push )
|
||||
# pragma warning ( disable:4660 )
|
||||
#endif
|
||||
|
||||
template class epicsSingleton < cacServiceList >;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( pop )
|
||||
#endif
|
||||
|
||||
epicsShareDef epicsSingleton < cacServiceList > pGlobalServiceListCAC;
|
||||
|
||||
cacServiceList::cacServiceList ()
|
||||
|
||||
@@ -19,18 +19,6 @@
|
||||
#include "iocinf.h"
|
||||
#include "comBuf.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( push )
|
||||
# pragma warning ( disable:4660 )
|
||||
#endif
|
||||
|
||||
template class tsFreeList < comBuf, 0x20 >;
|
||||
template class epicsSingleton < tsFreeList < comBuf, 0x20 > >;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( pop )
|
||||
#endif
|
||||
|
||||
epicsSingleton < tsFreeList < class comBuf, 0x20 > > comBuf::pFreeList;
|
||||
|
||||
bool comBuf::flushToWire ( wireSendAdapter &wire )
|
||||
|
||||
@@ -19,18 +19,6 @@
|
||||
#include "iocinf.h"
|
||||
#include "oldAccess.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( push )
|
||||
# pragma warning ( disable:4660 )
|
||||
#endif
|
||||
|
||||
template class tsFreeList < getCallback, 1024 >;
|
||||
template class epicsSingleton < tsFreeList < getCallback, 1024 > >;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( pop )
|
||||
#endif
|
||||
|
||||
epicsSingleton < tsFreeList < class getCallback, 1024 > > getCallback::pFreeList;
|
||||
|
||||
getCallback::getCallback ( oldChannelNotify &chanIn,
|
||||
|
||||
+2
-13
@@ -22,18 +22,6 @@
|
||||
#include "oldAccess.h"
|
||||
#include "cac.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( push )
|
||||
# pragma warning ( disable:4660 )
|
||||
#endif
|
||||
|
||||
template class tsFreeList < getCopy, 1024 >;
|
||||
template class epicsSingleton < tsFreeList < getCopy, 1024 > >;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning ( pop )
|
||||
#endif
|
||||
|
||||
epicsSingleton < tsFreeList < class getCopy, 1024 > > getCopy::pFreeList;
|
||||
|
||||
getCopy::getCopy ( oldCAC &cacCtxIn, oldChannelNotify &chanIn,
|
||||
@@ -62,7 +50,8 @@ void getCopy::completion ( unsigned typeIn,
|
||||
arrayElementCount countIn, const void *pDataIn )
|
||||
{
|
||||
if ( this->type == typeIn ) {
|
||||
memcpy ( this->pValue, pDataIn, dbr_size_n ( typeIn, countIn ) );
|
||||
unsigned size = dbr_size_n ( typeIn, countIn );
|
||||
memcpy ( this->pValue, pDataIn, size );
|
||||
this->cacCtx.decrementOutstandingIO ( this->readSeq );
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user