TransactionId *buffer;
} SnapArrayCacheStruct;
-static SnapArrayStruct *SnapArray;
+static volatile SnapArrayStruct *SnapArray;
static SnapArrayCacheStruct SnapArrayCache;
static TransactionId xid_cmp_base;
start_location %= SnapArray->ring_buffer_size;
if (start_location + nxids <= (uint64) SnapArray->ring_buffer_size)
- memcpy(buffer, &SnapArray->buffer[start_location],
+ memcpy(buffer, (void *) &SnapArray->buffer[start_location],
nxids * sizeof(TransactionId));
else
{
uint64 entries_before_wrap;
entries_before_wrap = SnapArray->ring_buffer_size - start_location;
- memcpy(buffer, &SnapArray->buffer[start_location],
+ memcpy(buffer, (void *) &SnapArray->buffer[start_location],
entries_before_wrap * sizeof(TransactionId));
- memcpy(buffer + entries_before_wrap, SnapArray->buffer,
+ memcpy(buffer + entries_before_wrap, (void *) SnapArray->buffer,
(nxids - entries_before_wrap) * sizeof(TransactionId));
}
}
{
write_location %= SnapArray->ring_buffer_size;
if (write_location + nitems <= SnapArray->ring_buffer_size)
- memcpy(&SnapArray->buffer[write_location], item,
+ memcpy((void *) &SnapArray->buffer[write_location], item,
nitems * sizeof(TransactionId));
else
{
Assert(nitems <= SnapArray->ring_buffer_size);
entries_before_wrap = SnapArray->ring_buffer_size - write_location;
- memcpy(&SnapArray->buffer[write_location], item,
+ memcpy((void *) &SnapArray->buffer[write_location], item,
entries_before_wrap * sizeof(TransactionId));
- memcpy(SnapArray->buffer, item + entries_before_wrap,
+ memcpy((void *) SnapArray->buffer, item + entries_before_wrap,
(nitems - entries_before_wrap) * sizeof(TransactionId));
}
}