testsuite_hooks.h (__set_testsuite_memlimit): Retrieve current limits before setting.
* testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Retrieve current limits before setting. From-SVN: r53490
This commit is contained in:
parent
7bd9b6d491
commit
d2aa36f5d9
2 changed files with 14 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2002-05-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
|
* testsuite/testsuite_hooks.h (__set_testsuite_memlimit):
|
||||||
|
Retrieve current limits before setting.
|
||||||
|
|
||||||
2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
|
2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
|
||||||
|
|
||||||
PR libstdc++/6518
|
PR libstdc++/6518
|
||||||
|
|
|
@ -81,25 +81,33 @@ void
|
||||||
__set_testsuite_memlimit(float __size = MEMLIMIT_MB)
|
__set_testsuite_memlimit(float __size = MEMLIMIT_MB)
|
||||||
{
|
{
|
||||||
struct rlimit r;
|
struct rlimit r;
|
||||||
r.rlim_cur = (rlim_t)(__size * 1048576);
|
rlim_t limit = (rlim_t)(__size * 1048576);
|
||||||
|
|
||||||
// Heap size, seems to be common.
|
// Heap size, seems to be common.
|
||||||
#if _GLIBCPP_HAVE_MEMLIMIT_DATA
|
#if _GLIBCPP_HAVE_MEMLIMIT_DATA
|
||||||
|
getrlimit(RLIMIT_DATA, &r);
|
||||||
|
r.rlim_cur = limit;
|
||||||
setrlimit(RLIMIT_DATA, &r);
|
setrlimit(RLIMIT_DATA, &r);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Resident set size.
|
// Resident set size.
|
||||||
#if _GLIBCPP_HAVE_MEMLIMIT_RSS
|
#if _GLIBCPP_HAVE_MEMLIMIT_RSS
|
||||||
|
getrlimit(RLIMIT_RSS, &r);
|
||||||
|
r.rlim_cur = limit;
|
||||||
setrlimit(RLIMIT_RSS, &r);
|
setrlimit(RLIMIT_RSS, &r);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Mapped memory (brk + mmap).
|
// Mapped memory (brk + mmap).
|
||||||
#if _GLIBCPP_HAVE_MEMLIMIT_VMEM
|
#if _GLIBCPP_HAVE_MEMLIMIT_VMEM
|
||||||
|
getrlimit(RLIMIT_VMEM, &r);
|
||||||
|
r.rlim_cur = limit;
|
||||||
setrlimit(RLIMIT_VMEM, &r);
|
setrlimit(RLIMIT_VMEM, &r);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Virtual memory.
|
// Virtual memory.
|
||||||
#if _GLIBCPP_HAVE_MEMLIMIT_AS
|
#if _GLIBCPP_HAVE_MEMLIMIT_AS
|
||||||
|
getrlimit(RLIMIT_AS, &r);
|
||||||
|
r.rlim_cur = limit;
|
||||||
setrlimit(RLIMIT_AS, &r);
|
setrlimit(RLIMIT_AS, &r);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue