>> A closer look shows that you've actually got it worked out, except
>> that the ugly hack for Sparcs running BSD now has broken completely.
>> It used to work when it was in s_lock.h, but in a separately compiled
>> file, it doesn't. (It relies on an entry point declared inside asm()
>> within an unused function that's explicitly declared static.)
>
>Ooops, sorry about that.
>
>I guess I should have added a ".globl tas" or whatever the native asm phrase
>for globalizing an entry point is and then it would have worked as I intended.
PPC/Linux has been broken too.
>> On the weird side, after I updated to the current sources, the backend
>> dies on me whenever I try to delete a database, whether from psql with
>> 'drop database test' or from the command line with 'destroydb test'.
I have made small changes to solve the global tas problem, and got
exactly same experience.
>Try making the 's_lock_test' target in src/backend/storage/buffer/Makefile.
>It will let you be sure that spinlocks are working.
I have tested the s_lock_test and seems it is working. However I have
lots of failure with various SQL's including 'drop database', 'delete
from'.
Have you succeeded in running regression tests? If so, what kind of
platforms are you using?
--
Tatsuo Ishii
t-ishii@sra.co.jp