This issue will be addressed by removing the blocking API, which we will do last in order to save as much of it as possible. However, we have decided that a better way to provide a locking API is to put the callers on a queue and send them a message when the resource becomes available. This avoids blocking the caller in the middle of a gen_server:call and allows a status message to be responded to, in addition to other messages. Credit to @jtuple for that idea.