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

Reply via email to