Emmanuel Mayssat wrote:
I have noticed something strange with the fanout record (selective
processing record).
My fanout has for input 6 asynchronous records.
The fanout record type doesn't have any input links, and the dfanout
record type only has one â did you mean to ask about the sequence record
type (seq)?
If one of the record timeout, the fanout stops processing any further.
So if one of the first records times out, the following ones aren't
processed at all.
This is the relevant code from the process() routine in fanoutRecord.c,
which has not changed since Version 3.14.2:
switch (pfanout->selm){
case (fanoutSELM_All):
plink=&(pfanout->lnk1);
state=pfanout->seln;
for ( i=0; i<6; i++, state>>=1, plink++) {
if(plink->type!=CONSTANT) dbScanFwdLink(plink);
}
break;
When SELM="All" there are no conditions, it always runs through all six
forward links and scans them all (the link type will never be CONSTANT
if you have connected that link to another record). Looking at it the
'state' variable is not actually needed at all, but doesn't affect what
the record does at all, which is to process all its forward links.
Now if you have a fanout of fanout records, you may end-up only having a
few record triggered.
Has anybody seen this ?
Is there a way to force the fanout to process all of its INP records?
Is there another reliable way to do selective processing?
- Andrew
--
When a distinguished but elderly scientist states that something is
possible, he is almost certainly right. When he states that something
is impossible, he is very probably wrong. -- Arthur C. Clarke
- References:
- fanout processing and timed-out records Emmanuel Mayssat
- Navigate by Date:
- Prev:
Problem with assert in dbLock.c David Dudley
- Next:
2007 EPICS Meeting (Knoxville) Presentations Kay-Uwe Kasemir
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
- Navigate by Thread:
- Prev:
fanout processing and timed-out records Emmanuel Mayssat
- Next:
question about caTCL_20070625 marco_hair
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
<2007>
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
|