This page is part of the web mail archives of SRFI 18 from before July 7th, 2015. The new archives for SRFI 18 contain all messages, not just those from before July 7th, 2015.
The mutexes of many thread systems (like Java) are "recursive", meaning that: 1) if a thread T holds a mutex M, then if T tries to lock M again, the operation succeeds without blocking, and 2) M remains locked until T has unlocked M as many times as it locked it. (I'm not sure that's a correct description of the behavior I have in mind, but it's a very common feature, and I'm sure you're familiar with it.) I can't tell from reading the SRFI whether its mutexes are recursive or not. It's certainly possible to build recursive mutexes using non-recursive mutexes. However, I think you'll often need to rely on someone else's mutexes being recursive (i.e., mutexes which protect some structure provide by a library, and which aren't under your control), so it would be nicer if this were a property people could assume.