void collectSample={
processLink=[3] {
{pvname = “incA”; parallel=true; wait=true},
{pvname = “incB”; parallel=false; wait=true},
{pvname = “getSample”; parallel=false; wait=true}
}
}
I can see that incB has parallel set to false, but will indeed be
processed in parallel (with incA).
In other words, using this syntax setting parallel to false will
stop the next link from being processed in parallel, not this link.
I fear users will keep making mistakes forever because they don't
remember if setting parallel changes this or the next link's
behaviour.
I agree that it took me two times to understand this.
I think the 'parallel' is meant as a 'execute in fork'.
So incA is forked off, incB is started 'in the same process',
then we wait for both.
What about changing the syntax a bit, so that your example reads:
void collectSample={
processLink=[3] {
{pvname = “incA”; wait=no},
{pvname = “incB”; wait=completion},
{pvname = “getSample”; wait=completion}
}
}
That's misleading because we _do_ want to wait for incA (and incB)
to complete before taking a sample.
Maybe it's more obvious with a nested syntax:
void collectSample={
processLink=[2] {
{pvname = [2]{“incA”, "incB"}; wait=completion},
{pvname = “getSample”; wait=completion}
}
}
So incA and incB can run in parallel, we wait for both to complete,
then getSample.
Well, one could even go one step further and include some
functionality of the seq record by allowing numbers:
void collectSample={
processLink=[3] {
{pvname = “incA”; wait=no},
{pvname = “incB”; wait=2.5},
{pvname = “getSample”; wait=completion}
}
}
which would fire off incA, incB, and then getSample after waiting
for 2.5 seconds, regardless of incB's process state, finally wait
for getSample to complete.
I think that's again wrong, you do want to wait for incA and incB.
- References:
- [Fwd: Re: ICALEPCS 2005: EPICS workshop: EPICS V4 Runtime Database] Marty Kraimer
- Navigate by Date:
- Prev:
RE: strings Jeff Hill
- Next:
Re: strings Kay-Uwe Kasemir
- Index:
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
[Fwd: Re: ICALEPCS 2005: EPICS workshop: EPICS V4 Runtime Database] Marty Kraimer
- Next:
[Fwd: Re: Link arrays / syntax] Marty Kraimer
- Index:
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|