On Jan 7, 2009, at 2:58 PM, Steven Dake wrote: > > On Wed, 2009-01-07 at 13:55 +0100, Andrew Beekhof wrote: >> 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? >> > > I think there is a problem now of nobody to do the work,
oh i'm happy to do the work if there is a hope of it being accepted :-) > and few people > to understand how it works once its done. > > But I take patches :) > >>> >>> >>> 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
