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 7#include "base/mac/mach_logging.h" 8 9namespace base { 10namespace mac { 11namespace internal { 12 13// static 14void SendRightTraits::Free(mach_port_t port) { 15 kern_return_t kr = mach_port_deallocate(mach_task_self(), port); 16 MACH_LOG_IF(ERROR, kr != KERN_SUCCESS, kr) 17 << "ScopedMachSendRight mach_port_deallocate"; 18} 19 20// static 21void ReceiveRightTraits::Free(mach_port_t port) { 22 kern_return_t kr = 23 mach_port_mod_refs(mach_task_self(), port, MACH_PORT_RIGHT_RECEIVE, -1); 24 MACH_LOG_IF(ERROR, kr != KERN_SUCCESS, kr) 25 << "ScopedMachReceiveRight mach_port_mod_refs"; 26} 27 28} // namespace internal 29} // namespace mac 30} // namespace base 31