1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "base/mac/scoped_mach_port.h" 6 7namespace base { 8namespace mac { 9 10ScopedMachPort::ScopedMachPort(mach_port_t port) : port_(port) { 11} 12 13ScopedMachPort::~ScopedMachPort() { 14 reset(); 15} 16 17void ScopedMachPort::reset(mach_port_t port) { 18 if (port_ != MACH_PORT_NULL) { 19 mach_port_deallocate(mach_task_self(), port_); 20 } 21 port_ = port; 22} 23 24} // namespace mac 25} // namespace base 26