chromium/base/at_exit.cc

// Copyright 2011 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/at_exit.h"

#include <stddef.h>
#include <ostream>
#include <utility>

#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/notreached.h"

namespace base {

// Keep a stack of registered AtExitManagers.  We always operate on the most
// recent, and we should never have more than one outside of testing (for a
// statically linked version of this library).  Testing may use the shadow
// version of the constructor, and if we are building a dynamic library we may
// end up with multiple AtExitManagers on the same process.  We don't protect
// this for thread-safe access, since it will only be modified in testing.
static AtExitManager* g_top_manager =;

static bool g_disable_managers =;

AtExitManager::AtExitManager() :{}

AtExitManager::~AtExitManager() {}

// static
void AtExitManager::RegisterCallback(AtExitCallbackType func, void* param) {}

// static
void AtExitManager::RegisterTask(base::OnceClosure task) {}

// static
void AtExitManager::ProcessCallbacksNow() {}

void AtExitManager::DisableAllAtExitManagers() {}

AtExitManager::AtExitManager(bool shadow) :{}

}  // namespace base