]> git.proxmox.com Git - mirror_corosync.git/commitdiff
build: bring SOLARIS up to the same standard as other OSes
authorFabio M. Di Nitto <fdinitto@redhat.com>
Thu, 30 Aug 2012 12:59:10 +0000 (14:59 +0200)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Thu, 30 Aug 2012 13:00:27 +0000 (15:00 +0200)
drop all SOLARIS specific ifdefs and replace them with feature checks

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
Reviewed-by: Jan Friesse <jfriesse@redhat.com>
14 files changed:
configure.ac
exec/cfg.c
exec/cmap.c
exec/cpg.c
exec/main.c
exec/mon.c
exec/pload.c
exec/totemudp.c
exec/totemudpu.c
exec/votequorum.c
exec/vsf_quorum.c
exec/wd.c
include/corosync/corotypes.h
include/corosync/mar_gen.h

index 0857932b80d55a2e4917495c3525d0d969e4b346..1993b032ceee53801739daf4865c8157abbfc6d6 100644 (file)
@@ -96,12 +96,28 @@ AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stdint.h \
                  sys/time.h syslog.h unistd.h sys/types.h getopt.h malloc.h \
                  utmpx.h ifaddrs.h stddef.h sys/file.h sys/uio.h])
 
+# Check entries in specific structs
 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
                [AC_DEFINE_UNQUOTED([HAVE_SOCK_SIN_LEN], [1], [sockaddr_in needs sin_len])],
                [], [[#include <netinet/in.h>]])
 AC_CHECK_MEMBER([struct sockaddr_in6.sin6_len],
                [AC_DEFINE_UNQUOTED([HAVE_SOCK_SIN6_LEN], [1], [sockaddr_in6 needs sin6_len])],
                [], [[#include <netinet/in.h>]])
+AC_CHECK_MEMBER([struct msghdr.msg_control],
+               [AC_DEFINE_UNQUOTED([HAVE_MSGHDR_CONTROL], [1], [msghdr has msg_control])],
+               [], [[#include <sys/socket.h>]])
+AC_CHECK_MEMBER([struct msghdr.msg_controllen],
+               [AC_DEFINE_UNQUOTED([HAVE_MSGHDR_CONTROLLEN], [1], [msghdr has msg_controllen])],
+               [], [[#include <sys/socket.h>]])
+AC_CHECK_MEMBER([struct msghdr.msg_flags],
+               [AC_DEFINE_UNQUOTED([HAVE_MSGHDR_FLAGS], [1], [msghdr has msg_flags])],
+               [], [[#include <sys/socket.h>]])
+AC_CHECK_MEMBER([struct msghdr.msg_accrights],
+               [AC_DEFINE_UNQUOTED([HAVE_MSGHDR_ACCRIGHTS], [1], [msghdr has msg_accrights])],
+               [], [[#include <sys/socket.h>]])
+AC_CHECK_MEMBER([struct msghdr.msg_accrightslen],
+               [AC_DEFINE_UNQUOTED([HAVE_MSGHDR_ACCRIGHTSLEN], [1], [msghdr has msg_accrightslen])],
+               [], [[#include <sys/socket.h>]])
 
 # Checks for typedefs.
 AC_TYPE_UID_T
@@ -343,10 +359,6 @@ case "$host_os" in
                             -current_version ${SONAME} \
                             -compatibility_version ${SONAME} -install_name \$(libdir)/\$(@)"
        ;;
-       *solaris*)
-               AC_DEFINE_UNQUOTED([COROSYNC_SOLARIS], [1],
-                                  [Compiling for Solaris platform])
-       ;;
 esac
 
 # *FLAGS handling goes here
index 98878d5fff96ceb17f8061890e2d5ace12371e01..d730d024568ab544398cd712725f6f4ae3d4705d 100644 (file)
@@ -246,10 +246,6 @@ struct req_exec_cfg_shutdown {
 static char *cfg_exec_init_fn (
        struct corosync_api_v1 *corosync_api_v1)
 {
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
-
        api = corosync_api_v1;
 
        list_init(&trackers_list);
index 9ae4a87828d0924c2a23d044ab43d8c093a8aa0d..f4b688dbbe8d1635b3b0c24ad5d91a3ec0855ed0 100644 (file)
@@ -169,10 +169,6 @@ static int cmap_exec_exit_fn(void)
 static char *cmap_exec_init_fn (
        struct corosync_api_v1 *corosync_api)
 {
-
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
        api = corosync_api;
 
        return (NULL);
index 209aaaa30035d6e4795f28bc001e976224a17354..95eb84721de8ef19a508c54ea90389f5141a2d0b 100644 (file)
@@ -990,9 +990,6 @@ static void joinlist_messages_delete (void)
 
 static char *cpg_exec_init_fn (struct corosync_api_v1 *corosync_api)
 {
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
        list_init (&downlist_messages_head);
        list_init (&joinlist_messages_head);
        api = corosync_api;
index feb83320e8b3362dd150d4314f3a53006447d8f1..6cbfef6252978a3ff93613679785686dd4b2d2c5 100644 (file)
@@ -438,12 +438,13 @@ static void corosync_mlockall (void)
 
        rlimit.rlim_cur = RLIM_INFINITY;
        rlimit.rlim_max = RLIM_INFINITY;
-#ifndef COROSYNC_SOLARIS
-       setrlimit (RLIMIT_MEMLOCK, &rlimit);
-#else
-       setrlimit (RLIMIT_VMEM, &rlimit);
+
+#ifndef RLIMIT_MEMLOCK
+#define RLIMIT_MEMLOCK RLIMIT_VMEM
 #endif
 
+       setrlimit (RLIMIT_MEMLOCK, &rlimit);
+
        res = mlockall (MCL_CURRENT | MCL_FUTURE);
        if (res == -1) {
                LOGSYS_PERROR (errno, LOGSYS_LEVEL_WARNING,
index d645132244c09bc664b7e466b79bae22a60ad908..49c46b426a94a26bfb655ce8571d4349ddfb0a2c 100644 (file)
@@ -463,12 +463,8 @@ static void mon_instance_init (struct resource_instance* inst)
 
 static char *mon_exec_init_fn (struct corosync_api_v1 *corosync_api)
 {
-
        sg_init();
 
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
        api = corosync_api;
 
        mon_instance_init (&memory_used_inst);
index 55332a7ceff991ba2039eca2c082c927d6b56c6e..206338d66ed270eacb8a56bebe143ba43a3ecdf8 100644 (file)
@@ -270,10 +270,6 @@ static char *pload_exec_init_fn (struct corosync_api_v1 *corosync_api)
 {
        icmap_track_t pload_track = NULL;
 
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
-
        api = corosync_api;
 
        /*
index 0c4bb0bac9d678dc684aff3ed222ad442e2d003c..d7d7d2b4f1057df2e0887f91dcd8ae32154bf91a 100644 (file)
@@ -285,12 +285,19 @@ static inline void ucast_sendmsg (
        msg_ucast.msg_namelen = addrlen;
        msg_ucast.msg_iov = (void *)&iovec;
        msg_ucast.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_ucast.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_ucast.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_ucast.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_ucast.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_ucast.msg_accrightslen = 0;
 #endif
 
@@ -345,12 +352,19 @@ static inline void mcast_sendmsg (
        msg_mcast.msg_namelen = addrlen;
        msg_mcast.msg_iov = (void *)&iovec;
        msg_mcast.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_mcast.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_mcast.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_mcast.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_mcast.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_mcast.msg_accrightslen = 0;
 #endif
 
@@ -420,12 +434,19 @@ static int net_deliver_fn (
        msg_recv.msg_namelen = sizeof (struct sockaddr_storage);
        msg_recv.msg_iov = iovec;
        msg_recv.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_recv.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_recv.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_recv.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_recv.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_recv.msg_accrightslen = 0;
 #endif
 
@@ -1232,12 +1253,19 @@ extern int totemudp_recv_mcast_empty (
        msg_recv.msg_namelen = sizeof (struct sockaddr_storage);
        msg_recv.msg_iov = &instance->totemudp_iov_recv_flush;
        msg_recv.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_recv.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_recv.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_recv.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_recv.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_recv.msg_accrightslen = 0;
 #endif
 
index 314d1862cdadbaf1ddeb98d7e8094d4ddf62ec70..e9bf7598ea0c636ad552cf2b2c743b6521849cc3 100644 (file)
@@ -280,12 +280,19 @@ static inline void ucast_sendmsg (
        msg_ucast.msg_namelen = addrlen;
        msg_ucast.msg_iov = (void *)&iovec;
        msg_ucast.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_ucast.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_ucast.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_ucast.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_ucast.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_ucast.msg_accrightslen = 0;
 #endif
 
@@ -349,12 +356,19 @@ static inline void mcast_sendmsg (
                msg_mcast.msg_namelen = addrlen;
                msg_mcast.msg_iov = (void *)&iovec;
                msg_mcast.msg_iovlen = 1;
-       #if !defined(COROSYNC_SOLARIS)
+       #ifdef HAVE_MSGHDR_CONTROL
                msg_mcast.msg_control = 0;
+       #endif
+       #ifdef HAVE_MSGHDR_CONTROLLEN
                msg_mcast.msg_controllen = 0;
+       #endif
+       #ifdef HAVE_MSGHDR_FLAGS
                msg_mcast.msg_flags = 0;
-       #else
+       #endif
+       #ifdef HAVE_MSGHDR_ACCRIGHTS
                msg_mcast.msg_accrights = NULL;
+       #endif
+       #ifdef HAVE_MSGHDR_ACCRIGHTSLEN
                msg_mcast.msg_accrightslen = 0;
        #endif
 
@@ -406,12 +420,19 @@ static int net_deliver_fn (
        msg_recv.msg_namelen = sizeof (struct sockaddr_storage);
        msg_recv.msg_iov = iovec;
        msg_recv.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_recv.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_recv.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_recv.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_recv.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_recv.msg_accrightslen = 0;
 #endif
 
@@ -949,12 +970,19 @@ extern int totemudpu_recv_mcast_empty (
        msg_recv.msg_namelen = sizeof (struct sockaddr_storage);
        msg_recv.msg_iov = &instance->totemudpu_iov_recv;
        msg_recv.msg_iovlen = 1;
-#if !defined(COROSYNC_SOLARIS)
+#ifdef HAVE_MSGHDR_CONTROL
        msg_recv.msg_control = 0;
+#endif
+#ifdef HAVE_MSGHDR_CONTROLLEN
        msg_recv.msg_controllen = 0;
+#endif
+#ifdef HAVE_MSGHDR_FLAGS
        msg_recv.msg_flags = 0;
-#else
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTS
        msg_recv.msg_accrights = NULL;
+#endif
+#ifdef HAVE_MSGHDR_ACCRIGHTSLEN
        msg_recv.msg_accrightslen = 0;
 #endif
 
index 30404a58b1f83745f9025006b3a49e7eddc5c2fd..253f649a1f41d2b827dabec239aeca433949f609 100644 (file)
@@ -1751,10 +1751,6 @@ static char *votequorum_exec_init_fn (struct corosync_api_v1 *api)
 {
        char *error = NULL;
 
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
-
        ENTER();
 
        /*
index 9cab2d223a92f1ebc782f140f1be130396eb0a44..7a20a45dc71974b4c9c2267201b76037781618ca 100644 (file)
@@ -257,9 +257,6 @@ static char *quorum_exec_init_fn (struct corosync_api_v1 *api)
        char *quorum_module = NULL;
        char *error;
 
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
        corosync_api = api;
        list_init (&lib_trackers_list);
        list_init (&internal_trackers_list);
index cb8b34fceb930a774f6c889112948dfcf4f6979e..093747f7bd404517ba436a9cc66274c285d85bb6 100644 (file)
--- a/exec/wd.c
+++ b/exec/wd.c
@@ -708,9 +708,7 @@ static char *wd_exec_init_fn (struct corosync_api_v1 *corosync_api)
 {
 
        ENTER();
-#ifdef COROSYNC_SOLARIS
-       logsys_subsys_init();
-#endif
+
        api = corosync_api;
 
        watchdog_timeout_get_initial();
index d5a7d0118651fe0311f02b33cbcd98ec3eb9764a..801a61a5f3a84b180961bbf8d27f4233e6c8bb80 100644 (file)
 #ifndef COROTYPES_H_DEFINED
 #define COROTYPES_H_DEFINED
 
-#ifndef COROSYNC_SOLARIS
 #include <stdint.h>
-#else
-#include <sys/types.h>
-#endif
 #include <errno.h>
 #include <time.h>
 #include <sys/time.h>
index 47edf09ad677c9b941a8ae31dad123c295d4fd2d..622bbec4fc2fad7cf065906429da6b2f91bc797d 100644 (file)
 #ifndef MAR_GEN_H_DEFINED
 #define MAR_GEN_H_DEFINED
 
-#ifndef COROSYNC_SOLARIS
 #include <stdint.h>
-#else
-#include <sys/types.h>
-#endif
 #include <string.h>
 
 #include <corosync/corotypes.h>