What's the reason some are blocking and some aren't?
Looking at the locking code, it seems like if you don't specifiy blocking, if the lock isn't able to be acquired it immediately just returns. Not sure if this is desired behavior?