With lock timeout

fixed in next commit, returning _Lock