aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-01-12 11:08:22 +0100
committerTobias Brunner <tobias@strongswan.org>2012-01-12 11:08:22 +0100
commit17e3a92661f105f34815c1d9d4f5a9bf19589f78 (patch)
tree2b2f07fb7da276b99d9ae5928e278e4d1df54870
parent66f16d9629b08fb2af4f2eac8ca18c1b95b07877 (diff)
downloadstrongswan-17e3a92661f105f34815c1d9d4f5a9bf19589f78.tar.bz2
strongswan-17e3a92661f105f34815c1d9d4f5a9bf19589f78.tar.xz
Fix gettid() on Android, which is defined in unistd.h there.
-rw-r--r--configure.in3
-rw-r--r--src/libstrongswan/threading/thread.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index 59dc86f04..e77238556 100644
--- a/configure.in
+++ b/configure.in
@@ -390,7 +390,8 @@ AC_CHECK_FUNC(
#include <sys/syscall.h>],
[int main() {
return syscall(SYS_gettid);}],
- [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_SYS_GETTID])],
+ [AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_GETTID])
+ AC_DEFINE([HAVE_SYS_GETTID])],
[AC_MSG_RESULT([no])]
)]
)
diff --git a/src/libstrongswan/threading/thread.c b/src/libstrongswan/threading/thread.c
index 0cbd97c3f..49a1b8430 100644
--- a/src/libstrongswan/threading/thread.c
+++ b/src/libstrongswan/threading/thread.c
@@ -20,15 +20,16 @@
#ifdef HAVE_GETTID
#include <sys/types.h>
-#elif defined(HAVE_SYS_GETTID)
#include <unistd.h>
+#endif
+
+#ifdef HAVE_SYS_GETTID
#include <sys/syscall.h>
static inline pid_t gettid()
{
return syscall(SYS_gettid);
}
-#define HAVE_GETTID
-#endif /* HAVE_SYS_GETTID */
+#endif
#include <library.h>
#include <debug.h>