File 0001-PCAS-fix-scope-of-tsDLList-when-used-in-other-classe.patch of Package epics-base
From 2035fc641ad52512705f4822484e90b186f04e57 Mon Sep 17 00:00:00 2001
From: Ralph Lange <ralph.lange@gmx.de>
Date: Mon, 7 Dec 2020 09:40:03 +0100
Subject: [PATCH] PCAS: fix scope of tsDLList when used in other classes
Use ::tsDLList to avoid resolving to privately inherited
name (which was breaking builds on newer clang compilers)
---
src/ca/legacy/pcas/generic/caServerI.h | 4 ++--
src/ca/legacy/pcas/generic/casPVI.cc | 16 ++++++++--------
src/ca/legacy/pcas/generic/casPVI.h | 18 +++++++++---------
3 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/ca/legacy/pcas/generic/caServerI.h b/src/ca/legacy/pcas/generic/caServerI.h
index 012233693..bfedf55ae 100644
--- a/src/ca/legacy/pcas/generic/caServerI.h
+++ b/src/ca/legacy/pcas/generic/caServerI.h
@@ -88,8 +88,8 @@ public:
private:
clientBufMemoryManager clientBufMemMgr;
tsFreeList < casMonitor, 1024 > casMonitorFreeList;
- tsDLList < casStrmClient > clientList;
- tsDLList < casIntfOS > intfList;
+ ::tsDLList < casStrmClient > clientList;
+ ::tsDLList < casIntfOS > intfList;
mutable epicsMutex mutex;
mutable epicsMutex diagnosticCountersMutex;
caServer & adapter;
diff --git a/src/ca/legacy/pcas/generic/casPVI.cc b/src/ca/legacy/pcas/generic/casPVI.cc
index 245c51e01..5ae1f522e 100644
--- a/src/ca/legacy/pcas/generic/casPVI.cc
+++ b/src/ca/legacy/pcas/generic/casPVI.cc
@@ -291,7 +291,7 @@ void casPVI::postEvent ( const casEventMask & select, const gdd & event )
}
caStatus casPVI::installMonitor (
- casMonitor & mon, tsDLList < casMonitor > & monitorList )
+ casMonitor & mon, ::tsDLList < casMonitor > & monitorList )
{
epicsGuard < epicsMutex > guard ( this->mutex );
assert ( this->nMonAttached < UINT_MAX );
@@ -307,7 +307,7 @@ caStatus casPVI::installMonitor (
}
casMonitor * casPVI::removeMonitor (
- tsDLList < casMonitor > & list, ca_uint32_t clientIdIn )
+ ::tsDLList < casMonitor > & list, ca_uint32_t clientIdIn )
{
epicsGuard < epicsMutex > guard ( this->mutex );
casMonitor * pMon = 0;
@@ -364,8 +364,8 @@ void casPVI::installChannel ( chanIntfForPV & chan )
}
void casPVI::removeChannel (
- chanIntfForPV & chan, tsDLList < casMonitor > & src,
- tsDLList < casMonitor > & dest )
+ chanIntfForPV & chan, ::tsDLList < casMonitor > & src,
+ ::tsDLList < casMonitor > & dest )
{
epicsGuard < epicsMutex > guard ( this->mutex );
src.removeAll ( dest );
@@ -379,7 +379,7 @@ void casPVI::removeChannel (
}
}
-void casPVI::clearOutstandingReads ( tsDLList < casAsyncIOI > & ioList )
+void casPVI::clearOutstandingReads ( ::tsDLList < casAsyncIOI > & ioList )
{
epicsGuard < epicsMutex > guard ( this->mutex );
@@ -399,7 +399,7 @@ void casPVI::clearOutstandingReads ( tsDLList < casAsyncIOI > & ioList )
}
}
-void casPVI::destroyAllIO ( tsDLList < casAsyncIOI > & ioList )
+void casPVI::destroyAllIO ( ::tsDLList < casAsyncIOI > & ioList )
{
epicsGuard < epicsMutex > guard ( this->mutex );
while ( casAsyncIOI * pIO = ioList.get() ) {
@@ -411,7 +411,7 @@ void casPVI::destroyAllIO ( tsDLList < casAsyncIOI > & ioList )
}
void casPVI::installIO (
- tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io )
+ ::tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io )
{
epicsGuard < epicsMutex > guard ( this->mutex );
ioList.add ( io );
@@ -420,7 +420,7 @@ void casPVI::installIO (
}
void casPVI::uninstallIO (
- tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io )
+ ::tsDLList < casAsyncIOI > & ioList, casAsyncIOI & io )
{
{
epicsGuard < epicsMutex > guard ( this->mutex );
diff --git a/src/ca/legacy/pcas/generic/casPVI.h b/src/ca/legacy/pcas/generic/casPVI.h
index feea79d23..9732119da 100644
--- a/src/ca/legacy/pcas/generic/casPVI.h
+++ b/src/ca/legacy/pcas/generic/casPVI.h
@@ -49,21 +49,21 @@ public:
caStatus attachToServer ( caServerI & cas );
aitIndex nativeCount ();
bool ioIsPending () const;
- void clearOutstandingReads ( tsDLList < class casAsyncIOI > &);
+ void clearOutstandingReads ( ::tsDLList < class casAsyncIOI > &);
void destroyAllIO (
- tsDLList < casAsyncIOI > & );
+ ::tsDLList < casAsyncIOI > & );
void installIO (
- tsDLList < casAsyncIOI > &, casAsyncIOI & );
+ ::tsDLList < casAsyncIOI > &, casAsyncIOI & );
void uninstallIO (
- tsDLList < casAsyncIOI > &, casAsyncIOI & );
+ ::tsDLList < casAsyncIOI > &, casAsyncIOI & );
void installChannel ( chanIntfForPV & chan );
void removeChannel (
- chanIntfForPV & chan, tsDLList < casMonitor > & src,
- tsDLList < casMonitor > & dest );
+ chanIntfForPV & chan, ::tsDLList < casMonitor > & src,
+ ::tsDLList < casMonitor > & dest );
caStatus installMonitor (
- casMonitor & mon, tsDLList < casMonitor > & monitorList );
+ casMonitor & mon, ::tsDLList < casMonitor > & monitorList );
casMonitor * removeMonitor (
- tsDLList < casMonitor > & list, ca_uint32_t clientIdIn );
+ ::tsDLList < casMonitor > & list, ca_uint32_t clientIdIn );
void deleteSignal ();
void postEvent ( const casEventMask & select, const gdd & event );
caServer * getExtServer () const;
@@ -84,7 +84,7 @@ public:
private:
mutable epicsMutex mutex;
- tsDLList < chanIntfForPV > chanList;
+ ::tsDLList < chanIntfForPV > chanList;
gddEnumStringTable enumStrTbl;
caServerI * pCAS;
casPV * pPV;
--
2.31.1