[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:
Jonas Hahnfeld 2018-01-01 18:19:06 +00:00
parent f13a514f08
commit 0f9768dcef
1 changed files with 10 additions and 5 deletions

View File

@ -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);