#include "logicdatasnapshot.h"
+using namespace boost;
using namespace std;
namespace pv {
DataSnapshot(logic.unitsize),
_last_append_sample(0)
{
+ lock_guard<recursive_mutex> lock(_mutex);
memset(_mip_map, 0, sizeof(_mip_map));
append_payload(logic);
}
LogicDataSnapshot::~LogicDataSnapshot()
{
+ lock_guard<recursive_mutex> lock(_mutex);
BOOST_FOREACH(MipMapLevel &l, _mip_map)
free(l.data);
}
{
assert(_unit_size == logic.unitsize);
+ lock_guard<recursive_mutex> lock(_mutex);
+
append_data(logic.data, logic.length);
// Generate the first mip-map from the data
assert(sig_index >= 0);
assert(sig_index < SR_MAX_NUM_PROBES);
+ lock_guard<recursive_mutex> lock(_mutex);
+
const uint64_t block_length = (uint64_t)max(min_length, 1.0f);
const unsigned int min_level = max((int)floorf(logf(min_length) /
LogMipMapScaleFactor) - 1, 0);
const uint64_t final_index = min(end,
pow2_ceil(index, MipMapScalePower));
- for(index;
- index < final_index &&
+ for(; index < final_index &&
(index & ~(~0 << MipMapScalePower)) != 0;
index++)
{
// do a linear search for the next transition within the
// block
if(min_length < MipMapScaleFactor) {
- for(index; index < end; index++) {
+ for(; index < end; index++) {
const bool sample = (get_sample(index) &
sig_mask) != 0;
if(sample != last_sample)