Re:
> The data pointer dbfl_ref.field can now either point to a copy owned by a
> filter, or it can point to the original data owned by a record. In the
> latter case, the dbfl_ref.dtor is NULL. This required adding
> db_field_log.offset as a new member. It gets initialized, together with the
> no_elements member, by a call to the rset.get_array_info, so we can continue
> to support the wrap-around/ring-buffer feature for array fields.
Careful.
Consider a record that does circular buffering.
While the dbfl is on the queue, the buffer circulates further. Any offset that
is retrieved through rset.get_array_info is volatile and must only be used while
record lock is held. Storing the offset for later use is not appropriate.
The two options for array type dbfl are:
1. data is owned by the dbfl, contiguous, on the heap (no wrap-around)
and must be destructed after post-queue processing is done.
2. data is in the record and post-queue processing retrieves it using
rset.get_array_info (supporting wrap-around).
Wrap-around must be supported by whatever uses rset.get_array_info. I.e., either
a filter or the post-queue processing copying the array (or a subset) into a
different buffer.
--
https://code.launchpad.net/~bfrk/epics-base/+git/epics-base/+merge/381308
Your team EPICS Core Developers is requested to review the proposed merge of ~bfrk/epics-base:zero-size-array-request into epics-base:7.0.
- References:
- [Merge] ~bfrk/epics-base:zero-size-array-request into epics-base:7.0 Ben Franksen via Core-talk
- Navigate by Date:
- Prev:
[Merge] ~bfrk/epics-base:zero-size-array-request into epics-base:7.0 Ben Franksen via Core-talk
- Next:
Lessons learned investigating EPICS Base build failures Ralph Lange via Core-talk
- 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:
[Merge] ~bfrk/epics-base:zero-size-array-request into epics-base:7.0 Ben Franksen via Core-talk
- Next:
Re: [Merge] ~bfrk/epics-base:zero-size-array-request into epics-base:7.0 Ben Franksen via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
|