A few thoughts on LWLock data structures... In lwlock.c we hold a list of lwlocks held: held_lwlocks[MAX_SIMUL_LWLOCKS] where #define MAX_SIMUL_LWLOCKS 100
The code for LWLockRelease assumes that the last acquired lock will always be the first one to be released, and uses an O(N) loop to search for the lock to release. Setting MAX_SIMUL_LWLOCKS to this fairly high number doesn't seem to match the optimistic use of the O(N) algorithm. Any thoughts on reducing the size of that array and/or reducing the lock release time? Best Regards, Simon Riggs ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])