On Jan 7, 2009, at 1:43 PM, Steven Dake wrote: > Yes. > > We can make it optional and use pthread_mutex in its place if the spin > lock operations aren't present. > > The only reason it is used now is because it is about 4x faster then > mutexes in the use cases of the logsys.
Understandable > > > I wasn't aware of the portability problems. > > Is there a method to test if spin_lock is unavailable on these > platforms? I don't have any of those platforms available to test on. I only know how to do it within the context of autoconf: AC_CHECK_FUNCS(some_function_name) Which creates a #define (set to 1 if present) formed by prefixing HAVE_ to the function name (all uppercase). I guess its possible to do other ways, but you'd want to make the result persistent (retesting for every build would seem sub-optimal). Wasn't autoconf being considered at one point? > > > Regards > -steve > > > On Wed, 2009-01-07 at 13:36 +0100, Andrew Beekhof wrote: >> Hi Steve, >> >> Unfortunately the use of pthread_spin_lock by logsys makes corosync >> unusable/uncompilable on a number of platforms including OSX: >> >> http://www.gnu.org/software/gnulib/manual/html_node/pthread_005fspin_005flock.html >> >> Is there an alternative you could use instead? >> >> The full gcc output follows: >> ==== /Users/beekhof/Development/corosync-svn/exec === >> logsys.c:114: error: syntax error before 'logsys_idx_spinlock' >> logsys.c:114: warning: type defaults to 'int' in declaration of >> 'logsys_idx_spinlock' >> logsys.c:114: warning: data definition has no type or storage class >> logsys.c: In function 'records_reclaim': >> logsys.c:176: warning: implicit declaration of function >> 'pthread_spin_lock' >> logsys.c:205: warning: implicit declaration of function >> 'pthread_spin_unlock' >> logsys.c: In function '_logsys_rec_init': >> logsys.c:567: warning: implicit declaration of function >> 'pthread_spin_init' >> make[1]: *** [logsys.o] Error 1 >> make: *** [all] Error 2 >> >> _______________________________________________ >> Openais mailing list >> [email protected] >> https://lists.linux-foundation.org/mailman/listinfo/openais > _______________________________________________ Openais mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/openais
