summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Appelbaum <jacob@appelbaum.net>2009-11-14 16:43:22 -0500
committerNick Mathewson <nickm@torproject.org>2009-11-14 16:45:14 -0500
commit6f1fe7e941b8f6d62829852059862b00beed5a6e (patch)
treec5e323633933e3f93233ab8863f18c1f4e607853
parent22f674fcb88411d8b56a3423fb0c09bb7745529c (diff)
downloadtor-6f1fe7e941b8f6d62829852059862b00beed5a6e.tar.gz
tor-6f1fe7e941b8f6d62829852059862b00beed5a6e.zip
Fix compilation with with bionic libc.
This fixes bug 1147: bionic doesn't have an actual implementation of mlockall(); mlockall() is merely in the headers but not actually in the library. This prevents Tor compilation with the bionic libc for Android handsets.
-rw-r--r--configure.in5
-rw-r--r--src/common/compat.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index 7ffa578d69..32f28b5661 100644
--- a/configure.in
+++ b/configure.in
@@ -628,6 +628,11 @@ if test x$tcmalloc = xyes ; then
LDFLAGS="-ltcmalloc $LDFLAGS"
fi
+# By default, we're going to assume we don't have mlockall()
+# bionic and other platforms have various broken mlockall subsystems
+# some of systems don't have a working mlockall, some aren't linkable
+AC_CHECK_FUNCS(mlockall)
+
# Allow user to specify an alternate syslog facility
AC_ARG_WITH(syslog-facility,
[ --with-syslog-facility=LOG syslog facility to use (default=LOG_DAEMON)],
diff --git a/src/common/compat.c b/src/common/compat.c
index 9e5dca3525..96012e2e01 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -2273,7 +2273,7 @@ tor_mlockall(void)
* http://msdn.microsoft.com/en-us/library/aa366895(VS.85).aspx
*/
-#ifdef HAVE_SYS_MMAN_H
+#ifdef HAVE_MLOCKALL
ret = tor_set_max_memlock();
if (ret == 0) {
/* Perhaps we only want to log this if we're in a verbose mode? */