1c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// Use of this source code is governed by a BSD-style license that can be 3c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott// found in the LICENSE file. 4c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 5c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott#include "net/disk_cache/file_lock.h" 6c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 7c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottnamespace disk_cache { 8c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 9c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick ScottFileLock::FileLock(BlockFileHeader* header) { 10c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott updating_ = &header->updating; 11c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott (*updating_)++; 12c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott acquired_ = true; 13c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} 14c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 15c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottvoid FileLock::Lock() { 16c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott if (acquired_) 17c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott return; 18c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott (*updating_)++; 19c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} 20c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 21c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scottvoid FileLock::Unlock() { 22c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott if (!acquired_) 23c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott return; 24c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott (*updating_)--; 25c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} 26c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott 27c7f5f8508d98d5952d42ed7648c2a8f30a4da156Patrick Scott} // namespace disk_cache 28