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