[scudo] Touch memory to count as RSS
This should fix the test from https://reviews.llvm.org/D41128. Differential Revision: https://reviews.llvm.org/D41649 llvm-svn: 321627
This commit is contained in:
parent
f13a514f08
commit
0f9768dcef
|
@ -4,7 +4,6 @@
|
||||||
// RUN: %run %t heap-size 2>&1
|
// RUN: %run %t heap-size 2>&1
|
||||||
// RUN: %env_scudo_opts="allocator_may_return_null=1" %run %t soft-limit 2>&1
|
// RUN: %env_scudo_opts="allocator_may_return_null=1" %run %t soft-limit 2>&1
|
||||||
// RUN: %env_scudo_opts="allocator_may_return_null=1" not %run %t hard-limit 2>&1
|
// RUN: %env_scudo_opts="allocator_may_return_null=1" not %run %t hard-limit 2>&1
|
||||||
// UNSUPPORTED: armhf-linux
|
|
||||||
|
|
||||||
// Tests that the sanitizer interface functions behave appropriately.
|
// Tests that the sanitizer interface functions behave appropriately.
|
||||||
|
|
||||||
|
@ -51,8 +50,11 @@ int main(int argc, char **argv)
|
||||||
// Verifies that setting the soft RSS limit at runtime works as expected.
|
// Verifies that setting the soft RSS limit at runtime works as expected.
|
||||||
std::vector<void *> pointers;
|
std::vector<void *> pointers;
|
||||||
size_t size = 1 << 19; // 512Kb
|
size_t size = 1 << 19; // 512Kb
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 5; i++) {
|
||||||
pointers.push_back(malloc(size));
|
void *p = malloc(size);
|
||||||
|
memset(p, 0, size);
|
||||||
|
pointers.push_back(p);
|
||||||
|
}
|
||||||
// Set the soft RSS limit to 1Mb.
|
// Set the soft RSS limit to 1Mb.
|
||||||
__scudo_set_rss_limit(1, 0);
|
__scudo_set_rss_limit(1, 0);
|
||||||
usleep(20000);
|
usleep(20000);
|
||||||
|
@ -74,8 +76,11 @@ int main(int argc, char **argv)
|
||||||
// Verifies that setting the hard RSS limit at runtime works as expected.
|
// Verifies that setting the hard RSS limit at runtime works as expected.
|
||||||
std::vector<void *> pointers;
|
std::vector<void *> pointers;
|
||||||
size_t size = 1 << 19; // 512Kb
|
size_t size = 1 << 19; // 512Kb
|
||||||
for (int i = 0; i < 5; i++)
|
for (int i = 0; i < 5; i++) {
|
||||||
pointers.push_back(malloc(size));
|
void *p = malloc(size);
|
||||||
|
memset(p, 0, size);
|
||||||
|
pointers.push_back(p);
|
||||||
|
}
|
||||||
// Set the hard RSS limit to 1Mb
|
// Set the hard RSS limit to 1Mb
|
||||||
__scudo_set_rss_limit(1, 1);
|
__scudo_set_rss_limit(1, 1);
|
||||||
usleep(20000);
|
usleep(20000);
|
||||||
|
|
Loading…
Reference in New Issue