diff options
author | Tim Rice <tim@multitalents.net> | 2002-07-14 13:36:49 -0700 |
---|---|---|
committer | Tim Rice <tim@multitalents.net> | 2002-07-14 13:36:49 -0700 |
commit | 40017b0e7aa236ca1144563dea986a95684f1599 (patch) | |
tree | aa62ff2bf0033c2c833724036d732f7ecdd287a8 /monitor_mm.c | |
parent | 952101952f204e5a85698a01469612d6518fc99a (diff) |
(bal/tim) [acconfig.h configure.ac monitor_mm.c servconf.c
openbsd-compat/Makefile.in] support compression on platforms that
have no/broken MAP_ANON. Moved code to openbsd-compat/xmmap.c
Based on patch from nalin@redhat.com of code extracted from Owl's package
Diffstat (limited to 'monitor_mm.c')
-rw-r--r-- | monitor_mm.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/monitor_mm.c b/monitor_mm.c index f72a180ea..fb5f2c82c 100644 --- a/monitor_mm.c +++ b/monitor_mm.c | |||
@@ -91,15 +91,9 @@ mm_create(struct mm_master *mmalloc, size_t size) | |||
91 | */ | 91 | */ |
92 | mm->mmalloc = mmalloc; | 92 | mm->mmalloc = mmalloc; |
93 | 93 | ||
94 | #ifdef HAVE_MMAP_ANON_SHARED | 94 | address = xmmap(size); |
95 | address = mmap(NULL, size, PROT_WRITE|PROT_READ, MAP_ANON|MAP_SHARED, | ||
96 | -1, 0); | ||
97 | if (address == MAP_FAILED) | 95 | if (address == MAP_FAILED) |
98 | fatal("mmap(%lu): %s", (u_long)size, strerror(errno)); | 96 | fatal("mmap(%lu): %s", (u_long)size, strerror(errno)); |
99 | #else | ||
100 | fatal("%s: UsePrivilegeSeparation=yes and Compression=yes not supported", | ||
101 | __func__); | ||
102 | #endif | ||
103 | 97 | ||
104 | mm->address = address; | 98 | mm->address = address; |
105 | mm->size = size; | 99 | mm->size = size; |
@@ -137,7 +131,7 @@ mm_destroy(struct mm_master *mm) | |||
137 | mm_freelist(mm->mmalloc, &mm->rb_free); | 131 | mm_freelist(mm->mmalloc, &mm->rb_free); |
138 | mm_freelist(mm->mmalloc, &mm->rb_allocated); | 132 | mm_freelist(mm->mmalloc, &mm->rb_allocated); |
139 | 133 | ||
140 | #ifdef HAVE_MMAP_ANON_SHARED | 134 | #ifdef HAVE_MMAP |
141 | if (munmap(mm->address, mm->size) == -1) | 135 | if (munmap(mm->address, mm->size) == -1) |
142 | fatal("munmap(%p, %lu): %s", mm->address, (u_long)mm->size, | 136 | fatal("munmap(%p, %lu): %s", mm->address, (u_long)mm->size, |
143 | strerror(errno)); | 137 | strerror(errno)); |