MCPcopy Create free account
hub / github.com/OSGeo/gdal / test_two_pages_thread

Function test_two_pages_thread

autotest/cpp/testvirtualmem.cpp:80–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

78#define MINIMUM_PAGE_SIZE 4096
79
80static void test_two_pages_thread(void *p)
81{
82 CPLVirtualMem *ctxt = (CPLVirtualMem *)p;
83 char *addr = (char *)CPLVirtualMemGetAddr(ctxt);
84 int i;
85 CPLVirtualMemDeclareThread(ctxt);
86 /*fprintfstderr("aux thread is %X\n", pthread_self());*/
87
88 for (i = 0; i < 50 * 1000; i++)
89 {
90 char val =
91 addr[MINIMUM_PAGE_SIZE * (i % 3) + MINIMUM_PAGE_SIZE / 2 - 1];
92 /*fprintfstderr("T2: val[%d] = %d\n", MINIMUM_PAGE_SIZE * (i % 2) +
93 * MINIMUM_PAGE_SIZE/2 - 1, val);*/
94 ASSERT_EQ(val, (((i % 3) == 0) ? 0x3F : ((i % 3) == 1) ? 0x5F : 0x7F));
95 }
96 CPLVirtualMemUnDeclareThread(ctxt);
97}
98
99static void test_two_pages(CPLVirtualMem *ctxt)
100{

Callers

nothing calls this directly

Calls 4

CPLVirtualMemGetAddrFunction · 0.85
ASSERT_EQFunction · 0.85

Tested by

no test coverage detected