From e10b5a283779d4d180ff398c172b392d9ced70cc Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 23 Aug 2010 12:45:07 +0200 Subject: Grab malloc_sem in FreeMem This is needed as much as in AllocMem to protect the mspaces data from concurrent access. --- display/res.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/display/res.c b/display/res.c index 1f67dbf..6fe375f 100644 --- a/display/res.c +++ b/display/res.c @@ -337,7 +337,9 @@ static void FreeMem(PDev* pdev, UINT32 mspace_type, void *ptr) ASSERT(pdev, pdev && pdev->Res.mspaces[mspace_type]._mspace); ASSERT(pdev, (UINT8 *)ptr >= pdev->Res.mspaces[mspace_type].mspace_start && (UINT8 *)ptr < pdev->Res.mspaces[mspace_type].mspace_end); + EngAcquireSemaphore(pdev->Res.malloc_sem); mspace_free(pdev->Res.mspaces[mspace_type]._mspace, ptr); + EngReleaseSemaphore(pdev->Res.malloc_sem); } DevRes *global_res = NULL; -- cgit v1.2.3