diff options
author | Werner Koch <wk@gnupg.org> | 2007-04-16 15:09:30 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2007-04-16 15:09:30 +0000 |
commit | 591697fc7621e8aa16abb3f60dc297ea9af1048f (patch) | |
tree | 76fb0761768c69d50818ff9f88f6aeeb8fb83b33 /src/secmem.c | |
parent | ef72b801762550f0ec1dd483e36ab95fe8f6629e (diff) | |
download | libgcrypt-591697fc7621e8aa16abb3f60dc297ea9af1048f.tar.gz |
./
* configure.ac: Check for sysconf.
* acinclude.m4 (GNUPG_CHECK_MLOCK): Try to use sysconf to get the
page size and use getpagesize only then if available.
cipher/
* ecc.c (_gcry_ecc_generate): Renamed DUMMY to CURVE and use it.
src/
* secmem.c (init_pool): Use sysconf() if available to determine
page size.
Diffstat (limited to 'src/secmem.c')
-rw-r--r-- | src/secmem.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/secmem.c b/src/secmem.c index 0c11f826..2d603a2a 100644 --- a/src/secmem.c +++ b/src/secmem.c @@ -340,6 +340,7 @@ static void init_pool (size_t n) { size_t pgsize; + long int pgsize_val; memblock_t *mb; pool_size = n; @@ -347,11 +348,15 @@ init_pool (size_t n) if (disable_secmem) log_bug ("secure memory is disabled"); -#ifdef HAVE_GETPAGESIZE - pgsize = getpagesize (); +#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) + pgsize_val = sysconf (_SC_PAGESIZE); +#elif defined(HAVE_GETPAGESIZE) + pgsize_val = getpagesize (); #else - pgsize = DEFAULT_PAGE_SIZE; + pgsize_val = -1; #endif + pgsize = (pgsize_val != -1 && pgsize_val > 0)? pgsize_val:DEFAULT_PAGE_SIZE; + #if HAVE_MMAP pool_size = (pool_size + pgsize - 1) & ~(pgsize - 1); |