Releated to https://bugzilla.redhat.com/show_bug.cgi?id=513687 bug. It
looks like FreeBSD 8 has fixed problem. But (of course), because most
people are using older FreeBSD version or different *BSD, there should
be some compilation check.
Included is patch implementing check in configure.ac and changing little
condition in main.c.
Regards,
Honza
diff --git a/trunk/configure.ac b/trunk/configure.ac
index dc78d1d..eb733eb 100644
--- a/trunk/configure.ac
+++ b/trunk/configure.ac
@@ -263,6 +263,14 @@ case "$host_os" in
OS_DYFLAGS="-export-dynamic"
DARWIN_OPTS=""
OS_LDL=""
+ case "$host_os" in
+ *freebsd[[234567]]*)
+ ;;
+ *freebsd*)
+ AC_DEFINE_UNQUOTED([COROSYNC_FREEBSD_GE_8], [1],
+ [Compiling for FreeBSD >= 8
platform])
+ ;;
+ esac
;;
*solaris*)
AC_DEFINE_UNQUOTED([COROSYNC_SOLARIS], [1],
diff --git a/trunk/exec/main.c b/trunk/exec/main.c
index 951b13d..c27c713 100644
--- a/trunk/exec/main.c
+++ b/trunk/exec/main.c
@@ -404,7 +404,7 @@ static void corosync_tty_detach (void)
static void corosync_mlockall (void)
{
-#if !defined(COROSYNC_BSD)
+#if !defined(COROSYNC_BSD) || defined(COROSYNC_FREEBSD_GE_8)
int res;
#endif
struct rlimit rlimit;
@@ -417,8 +417,8 @@ static void corosync_mlockall (void)
setrlimit (RLIMIT_VMEM, &rlimit);
#endif
-#if defined(COROSYNC_BSD)
- /* under FreeBSD a process with locked page cannot call dlopen
+#if defined(COROSYNC_BSD) && !defined(COROSYNC_FREEBSD_GE_8)
+ /* under FreeBSD < 8 a process with locked page cannot call dlopen
* code disabled until FreeBSD bug i386/93396 was solved
*/
log_printf (LOGSYS_LEVEL_WARNING, "Could not lock memory of service to
avoid page faults\n");
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais