✅ Properly handles lock acquisition with timeout ✅ Maintains the same functionality (timeout protection for lock acquisition) ✅ Ensures proper lock cleanup in the finally block
✅ Properly handles lock acquisition with timeout ✅ Maintains the same functionality (timeout protection for lock acquisition) ✅ Ensures proper lock cleanup in the finally block