IgHookTraceAlloc Class Reference
#include <IgHook_IgHookTrace.h>
List of all members.
Detailed Description
Definition at line 15 of file IgHook_IgHookTrace.h.
Constructor & Destructor Documentation
| IgHookTraceAlloc::IgHookTraceAlloc |
( |
void |
|
) |
|
Member Function Documentation
| void * IgHookTraceAlloc::allocate |
( |
size_t |
bytes |
) |
|
Definition at line 105 of file IgHook_IgHookTrace.cpp.
00106 {
00107
00108
00109
00110
00111
00112
00113
00114 if (m_left < bytes)
00115 {
00116 size_t psize = getpagesize ();
00117 size_t hunk = psize * 20;
00118 if (hunk < bytes) hunk = (hunk + psize - 1) & ~(psize-1);
00119 void *addr = mmap (0, hunk, PROT_READ | PROT_WRITE,
00120 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
00121 if (addr == MAP_FAILED)
00122 return 0;
00123
00124 m_pool = addr;
00125 m_left = hunk;
00126 }
00127
00128 void *ptr = m_pool;
00129 m_pool = (char *) m_pool + bytes;
00130 m_left -= bytes;
00131 return ptr;
00132 }
Member Data Documentation
The documentation for this class was generated from the following files: