Avoid calling some kernel functions.
This commit is contained in:
parent
c513a30e45
commit
69d7cb5681
|
@ -117,7 +117,7 @@ NTSTATUS WINAPI RtlpWaitForCriticalSection( RTL_CRITICAL_SECTION *crit )
|
|||
if ( res == WAIT_TIMEOUT )
|
||||
{
|
||||
const char *name = (char *)crit->DebugInfo;
|
||||
if (!name || IsBadStringPtrA(name,80)) name = "?";
|
||||
if (!name) name = "?";
|
||||
ERR( "section %p %s wait timed out, retrying (60 sec) tid=%08lx\n",
|
||||
crit, debugstr_a(name), GetCurrentThreadId() );
|
||||
res = WaitForSingleObject( sem, 60000L );
|
||||
|
|
|
@ -426,6 +426,7 @@ static void HEAP_MakeInUseBlockFree( SUBHEAP *subheap, ARENA_INUSE *pArena )
|
|||
if (((char *)pFree == (char *)subheap + subheap->headerSize) &&
|
||||
(subheap != &subheap->heap->subheap))
|
||||
{
|
||||
ULONG size = 0;
|
||||
SUBHEAP *pPrev = &subheap->heap->subheap;
|
||||
/* Remove the free block from the list */
|
||||
pFree->next->prev = pFree->prev;
|
||||
|
@ -435,7 +436,7 @@ static void HEAP_MakeInUseBlockFree( SUBHEAP *subheap, ARENA_INUSE *pArena )
|
|||
if (pPrev) pPrev->next = subheap->next;
|
||||
/* Free the memory */
|
||||
subheap->magic = 0;
|
||||
VirtualFree( subheap, 0, MEM_RELEASE );
|
||||
NtFreeVirtualMemory( GetCurrentProcess(), (void **)&subheap, &size, MEM_RELEASE );
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue