diff options
author | costan <costan@google.com> | 2017-08-01 13:18:55 -0700 |
---|---|---|
committer | Victor Costan <pwnall@chromium.org> | 2017-08-01 14:38:57 -0700 |
commit | c8049c58273d9dc02299bb441b75b4cbb3ea7917 (patch) | |
tree | fb2f3d09d550f2528235c93050eec09282e08805 | |
parent | 18e2f220d86dc0ad436cbd5e28b1e4b49e49e30d (diff) | |
download | snappy-c8049c58273d9dc02299bb441b75b4cbb3ea7917.tar.gz snappy-c8049c58273d9dc02299bb441b75b4cbb3ea7917.tar.bz2 snappy-c8049c58273d9dc02299bb441b75b4cbb3ea7917.zip |
Replace getpagesize() with sysconf(_SC_PAGESIZE).
getpagesize() has been removed from POSIX.1-2001. Its recommended
replacement is sysconf(_SC_PAGESIZE).
-rw-r--r-- | snappy_unittest.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/snappy_unittest.cc b/snappy_unittest.cc index 19062e4..fcb3261 100644 --- a/snappy_unittest.cc +++ b/snappy_unittest.cc @@ -63,7 +63,7 @@ DEFINE_bool(snappy_dump_decompression_table, false, namespace snappy { -#ifdef HAVE_FUNC_MMAP +#if defined(HAVE_FUNC_MMAP) && defined(HAVE_FUNC_SYSCONF) // To test against code that reads beyond its input, this class copies a // string to a newly allocated group of pages, the last of which @@ -74,7 +74,7 @@ namespace snappy { class DataEndingAtUnreadablePage { public: explicit DataEndingAtUnreadablePage(const string& s) { - const size_t page_size = getpagesize(); + const size_t page_size = sysconf(_SC_PAGESIZE); const size_t size = s.size(); // Round up space for string to a multiple of page_size. size_t space_for_string = (size + page_size - 1) & ~(page_size - 1); @@ -92,8 +92,9 @@ class DataEndingAtUnreadablePage { } ~DataEndingAtUnreadablePage() { + const size_t page_size = sysconf(_SC_PAGESIZE); // Undo the mprotect. - CHECK_EQ(0, mprotect(protected_page_, getpagesize(), PROT_READ|PROT_WRITE)); + CHECK_EQ(0, mprotect(protected_page_, page_size, PROT_READ|PROT_WRITE)); CHECK_EQ(0, munmap(mem_, alloc_size_)); } @@ -108,7 +109,7 @@ class DataEndingAtUnreadablePage { size_t size_; }; -#else // HAVE_FUNC_MMAP +#else // defined(HAVE_FUNC_MMAP) && defined(HAVE_FUNC_SYSCONF) // Fallback for systems without mmap. typedef string DataEndingAtUnreadablePage; |