From 8d5038dc70f6f4cc8f729a611835551f926ec057 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 15 May 2002 15:57:05 +0000 Subject: * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Retrieve current limits before setting. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@53490 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/testsuite/testsuite_hooks.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libstdc++-v3/testsuite') diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h index 08d93d38274..eb87d51f297 100644 --- a/libstdc++-v3/testsuite/testsuite_hooks.h +++ b/libstdc++-v3/testsuite/testsuite_hooks.h @@ -81,25 +81,33 @@ void __set_testsuite_memlimit(float __size = MEMLIMIT_MB) { struct rlimit r; - r.rlim_cur = (rlim_t)(__size * 1048576); + rlim_t limit = (rlim_t)(__size * 1048576); // Heap size, seems to be common. #if _GLIBCPP_HAVE_MEMLIMIT_DATA + getrlimit(RLIMIT_DATA, &r); + r.rlim_cur = limit; setrlimit(RLIMIT_DATA, &r); #endif // Resident set size. #if _GLIBCPP_HAVE_MEMLIMIT_RSS + getrlimit(RLIMIT_RSS, &r); + r.rlim_cur = limit; setrlimit(RLIMIT_RSS, &r); #endif // Mapped memory (brk + mmap). #if _GLIBCPP_HAVE_MEMLIMIT_VMEM + getrlimit(RLIMIT_VMEM, &r); + r.rlim_cur = limit; setrlimit(RLIMIT_VMEM, &r); #endif // Virtual memory. #if _GLIBCPP_HAVE_MEMLIMIT_AS + getrlimit(RLIMIT_AS, &r); + r.rlim_cur = limit; setrlimit(RLIMIT_AS, &r); #endif } -- cgit v1.2.3