Executes callback while lock is held.
callback executed under lock.
callback result when lock acquisition succeeds.