]> sigrok.org Git - pulseview.git/commit
Switch segment storage from single vector to vector of arrays
authorSoeren Apel <redacted>
Wed, 8 Feb 2017 17:30:41 +0000 (18:30 +0100)
committerSoeren Apel <redacted>
Wed, 8 Feb 2017 17:30:41 +0000 (18:30 +0100)
commit26a883ede0bcf68d087eda5dd2082890d36c7aef
tree75a03c4dabbb86c131bf2dbd91b469bfeb745d6e
parent038a14278afb24e10cd59991c2cafd97264fd3a5
Switch segment storage from single vector to vector of arrays

Previously, PV would run out of storage space for the data
segments because data was stored in a vector. As a vector allows
contiguous access to the underlying data (much like an array),
it needs a contiguous section of memory. With incoming data and
constant resizing of the vector, the OS at some point can no
longer supply such a section of memory, causing PV to abort
acquisition.

This change fixes this by using several chunks that are never
grown in size. Instead, new chunks are allocated and added to
the vector as needed. This way, the OS will be able to provide
memory until it runs out of system memory.
pv/data/analogsegment.cpp
pv/data/analogsegment.hpp
pv/data/logicsegment.cpp
pv/data/logicsegment.hpp
pv/data/segment.cpp
pv/data/segment.hpp
pv/session.cpp
pv/view/analogsignal.cpp