Fix build on Solaris by disabling support for DisableAllSwap

Fixes bug 1198. Solaris doesn't have RLIMIT_MEMLOCK for get/setrlimit,
so disable support because we don't know if all memory can be locked.
This commit is contained in:
Sebastian Hahn 2010-01-19 04:59:24 +01:00
parent a5e83769b7
commit 4728bd904f
2 changed files with 5 additions and 2 deletions

View File

@ -71,6 +71,9 @@ Changes in version 0.2.2.7-alpha - 2010-01-??
but there is non-exit bandwidth, or no guard bandwidth but there but there is non-exit bandwidth, or no guard bandwidth but there
is non-guard bandwidth, don't crash during path selection. Bugfix is non-guard bandwidth, don't crash during path selection. Bugfix
on 0.2.0.3-alpha. on 0.2.0.3-alpha.
- Fix compilation on Solaris by removing support for the
DisableAllSwap config option. Solaris doesn't have an rlimit for
mlockall, so we cannot use it safely. Bugfix on 0.2.2.6-alpha.
o Removed features: o Removed features:
- Remove the HSAuthorityRecordStats option that version 0 hidden - Remove the HSAuthorityRecordStats option that version 0 hidden

View File

@ -2176,7 +2176,7 @@ tor_threads_init(void)
} }
#endif #endif
#if defined(HAVE_MLOCKALL) && HAVE_DECL_MLOCKALL #if defined(HAVE_MLOCKALL) && HAVE_DECL_MLOCKALL && defined(RLIMIT_MEMLOCK)
/** Attempt to raise the current and max rlimit to infinity for our process. /** Attempt to raise the current and max rlimit to infinity for our process.
* This only needs to be done once and can probably only be done when we have * This only needs to be done once and can probably only be done when we have
* not already dropped privileges. * not already dropped privileges.
@ -2244,7 +2244,7 @@ tor_mlockall(void)
* http://msdn.microsoft.com/en-us/library/aa366895(VS.85).aspx * http://msdn.microsoft.com/en-us/library/aa366895(VS.85).aspx
*/ */
#if defined(HAVE_MLOCKALL) && HAVE_DECL_MLOCKALL #if defined(HAVE_MLOCKALL) && HAVE_DECL_MLOCKALL && defined(RLIMIT_MEMLOCK)
if (tor_set_max_memlock() == 0) { if (tor_set_max_memlock() == 0) {
/* Perhaps we only want to log this if we're in a verbose mode? */ /* Perhaps we only want to log this if we're in a verbose mode? */
log_notice(LD_GENERAL, "RLIMIT_MEMLOCK is now set to RLIM_INFINITY."); log_notice(LD_GENERAL, "RLIMIT_MEMLOCK is now set to RLIM_INFINITY.");