Chromium Code Reviews| Index: base/allocator/oom.h |
| diff --git a/base/allocator/oom.h b/base/allocator/oom.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..68dfae76b881cfba5164d1de5d2fd5257ab28f1f |
| --- /dev/null |
| +++ b/base/allocator/oom.h |
| @@ -0,0 +1,26 @@ |
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef BASE_ALLOCATOR_OOM_H |
| +#define BASE_ALLOCATOR_OOM_H |
| + |
| +#include "base/logging.h" |
| + |
| +#if defined(OS_WIN) |
| +#include <windows.h> |
| +#endif |
| + |
| +// OOM_CRASH() - Specialization of IMMEDIATE_CRASH which will raise a custom |
| +// exception on Windows to signal this is OOM and not a normal assert. |
| +#if defined(OS_WIN) |
| +#define OOM_CRASH() \ |
| + do { \ |
| + ::RaiseException(0xE0000008, EXCEPTION_NONCONTINUABLE, 0, nullptr); \ |
|
danakj
2016/12/13 23:56:13
This is in base already. https://cs.chromium.org/c
|
| + IMMEDIATE_CRASH(); \ |
| + } while (0) |
| +#else |
| +#define OOM_CRASH() IMMEDIATE_CRASH() |
| +#endif |
| + |
| +#endif // BASE_ALLOCATOR_OOM_H |