mozalloc_oom.h 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2. * vim: sw=4 ts=4 et :
  3. */
  4. /* This Source Code Form is subject to the terms of the Mozilla Public
  5. * License, v. 2.0. If a copy of the MPL was not distributed with this
  6. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  7. #ifndef mozilla_mozalloc_oom_h
  8. #define mozilla_mozalloc_oom_h
  9. #include "mozalloc.h"
  10. /**
  11. * Called when memory is critically low. Returns iff it was able to
  12. * remedy the critical memory situation; if not, it will abort().
  13. */
  14. MFBT_API void mozalloc_handle_oom(size_t requestedSize);
  15. /**
  16. * Called by embedders (specifically Mozilla breakpad) which wants to be
  17. * notified of an intentional abort, to annotate any crash report with
  18. * the size of the allocation on which we aborted.
  19. */
  20. typedef void (*mozalloc_oom_abort_handler)(size_t size);
  21. MFBT_API void mozalloc_set_oom_abort_handler(mozalloc_oom_abort_handler handler);
  22. /* TODO: functions to query system memory usage and register
  23. * critical-memory handlers. */
  24. #endif /* ifndef mozilla_mozalloc_oom_h */