ReactOS  0.4.12-dev-18-gf469aca
__malloc_alloc Class Reference

#include <_alloc.h>

Public Types

typedef char value_type
 

Static Public Member Functions

static void *_STLP_CALL allocate (size_t __n)
 
static void _STLP_CALL deallocate (void *__p, size_t)
 
static __oom_handler_type _STLP_CALL set_malloc_handler (__oom_handler_type __f)
 

Detailed Description

Definition at line 63 of file _alloc.h.

Member Typedef Documentation

◆ value_type

Definition at line 66 of file _alloc.h.

Member Function Documentation

◆ allocate()

void *_STLP_CALL __malloc_alloc::allocate ( size_t  __n)
static

Definition at line 131 of file allocators.cpp.

Referenced by __node_alloc::_M_deallocate().

132 {
133  void *__result = malloc(__n);
134  if ( 0 == __result ) {
135  __oom_handler_type __my_malloc_handler;
136 
137  for (;;) {
138  {
139 #ifdef _STLP_THREADS
140  _STLP_auto_lock _l( __oom_handler_lock );
141 #endif
142  __my_malloc_handler = __oom_handler;
143  }
144  if ( 0 == __my_malloc_handler) {
146  }
147  (*__my_malloc_handler)();
148  __result = malloc(__n);
149  if ( __result )
150  return __result;
151  }
152  }
153  return __result;
154 }
return __n
Definition: _algo.h:75
_STLP_BEGIN_NAMESPACE typedef void(* __oom_handler_type)()
Definition: _alloc.h:60
static _STLP_BEGIN_NAMESPACE __oom_handler_type __oom_handler
Definition: allocators.cpp:125
#define malloc
Definition: debug_ros.c:4
#define _STLP_THROW_BAD_ALLOC
Definition: _new.h:116

◆ deallocate()

static void _STLP_CALL __malloc_alloc::deallocate ( void __p,
size_t   
)
inlinestatic

Definition at line 80 of file _alloc.h.

Referenced by __node_alloc::_M_deallocate().

80 { free((char*)__p); }
#define free
Definition: debug_ros.c:5

◆ set_malloc_handler()

__oom_handler_type _STLP_CALL __malloc_alloc::set_malloc_handler ( __oom_handler_type  __f)
static

Definition at line 156 of file allocators.cpp.

157 {
158 #ifdef _STLP_THREADS
159  _STLP_auto_lock _l( __oom_handler_lock );
160 #endif
162  __oom_handler = __f;
163  return __old;
164 }
_STLP_BEGIN_NAMESPACE typedef void(* __oom_handler_type)()
Definition: _alloc.h:60
static _STLP_BEGIN_NAMESPACE __oom_handler_type __oom_handler
Definition: allocators.cpp:125

The documentation for this class was generated from the following files: