You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When compiling caputRecorder 1-7-5 against EPICS 7.0.8, I get the following error:
../subMLIS.c:57:40: error: incomplete definition of type 'struct evSubscrip'
I found Michael Davidsaver's (@mdavidsaver) EPICS commit 3d25756, which wraps the struct evSubscrip definition in dbChannel.h in an #ifdef EPICS_PRIVATE_API. When I compile, EPICS_PRIVATE_API is not defined, so there's no struct evSubscrip definition, and I think that's why I'm getting this error.
FYI, I also found issue #4, which involved a similar problem in the same source code location.
Firstly, Traversing the MLIS linked list without holding the MLOK mutex is racy.
Secondly, The < 3.15 compatibility code makes me think the evSubscrip definition is not actually needed. The ELLNODE definition should be sufficient to traverse a list.
Thirdly, this code appears to be trying to detect when the list of dbEvent subscribers to a record changes. Although only the first 5 subscribers. I don't understand why this is relevant. Each record's subscribers list tracks interest in any field of that record, not just VAL. This list is also shared by all internal subscribers (eg. local CA, RSRV, QSRV, ...)
Is SubMLIS() being used as a proxy for some other information?
Until this file can be refactored, use a different name for the structure. Workaround due to shifts in definitions of evSubscrip in base-3.15, and then base-7.0.5, and again in base-7.0.8
ref #8
When compiling caputRecorder 1-7-5 against EPICS 7.0.8, I get the following error:
I found Michael Davidsaver's (@mdavidsaver) EPICS commit 3d25756, which wraps the
struct evSubscrip
definition indbChannel.h
in an#ifdef EPICS_PRIVATE_API
. When I compile,EPICS_PRIVATE_API
is not defined, so there's nostruct evSubscrip
definition, and I think that's why I'm getting this error.FYI, I also found issue #4, which involved a similar problem in the same source code location.
Here's the end of an example terminal session:
Platform:
The text was updated successfully, but these errors were encountered: