summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas2011-10-27 12:21:10 +0000
committerRobert Haas2011-10-27 12:21:10 +0000
commit05d78d765e286bbde3d24c5b867a53544cb7698c (patch)
treecb950a50c314592bf09d48b34ad308de248ef065
parenta4798f146f4b06ee92f4b857b19c03cb4e188282 (diff)
volatile-ize.snaparray
-rw-r--r--src/backend/storage/ipc/snaparray.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/backend/storage/ipc/snaparray.c b/src/backend/storage/ipc/snaparray.c
index 79eec1c586..27aa73375b 100644
--- a/src/backend/storage/ipc/snaparray.c
+++ b/src/backend/storage/ipc/snaparray.c
@@ -114,7 +114,7 @@ typedef struct
TransactionId *buffer;
} SnapArrayCacheStruct;
-static SnapArrayStruct *SnapArray;
+static volatile SnapArrayStruct *SnapArray;
static SnapArrayCacheStruct SnapArrayCache;
static TransactionId xid_cmp_base;
@@ -1437,16 +1437,16 @@ SnapArrayReadData(uint64 start_location, uint64 stop_location,
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));
}
}
@@ -1479,7 +1479,7 @@ SnapArrayWriteData(uint64 write_location, uint32 nitems, TransactionId *item)
{
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
{
@@ -1493,9 +1493,9 @@ SnapArrayWriteData(uint64 write_location, uint32 nitems, TransactionId *item)
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));
}
}