Hi, > So, let me ask some spinlock question: > 1) I know that if one process goes down holding a > spinlock, the lock will be non-removable. Will it be > removed if all smbds go down, and specifically if > they go down on a system crash, or are they persistent?
If a process goes down holding a lock then you can either fall apart (spinlocks) or silently go on with a potentially corrupt database (fcntl locks). Either way has its issues. Tdb should have support for futexes soon (fast Linux locks that use OS support to handle contention). The OS does not clean up after futex locks so to samba they behave like spinlocks. In light of this (and that people are using the current spinlock code) we should probably do something to address the problem with spinlocks. I remember last time saying to Jeremy that samba never SEGVs. For the non believers perhaps we can have a watchdog process or a SEGV handler to restart the world when necessary. Anton
