Look at the code below this (there is already an unlock). I think that we need to take care of the possible problems that the `unlock` may have.
We are catching 3 exceptions for the unlock, and none here.
Can we use the existing `unlock` to take care of this case too?