Re: Avoid use deprecated Windows Memory API - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Avoid use deprecated Windows Memory API
Date
Msg-id CAEudQAq18WuwSSvwqEru=NFXiYW8jwopYRmhJOOup39+-QQsFg@mail.gmail.com
Whole thread Raw
In response to Re: Avoid use deprecated Windows Memory API  (Daniel Gustafsson <daniel@yesql.se>)
List pgsql-hackers
Em qui., 15 de set. de 2022 às 05:35, Daniel Gustafsson <daniel@yesql.se> escreveu:
> On 15 Sep 2022, at 01:19, Ranier Vilela <ranier.vf@gmail.com> wrote:

> LocalAlloc is deprecated.
> So use HeapAlloc instead, once LocalAlloc is an overhead wrapper to HeapAlloc.
>
> Attached a patch.

Don't forget that patches which aim to reduce overhead are best when
accompanied with benchmarks which show the effect of the reduction.
I'm trusting the API producer.
 

-       pacl = (PACL) LocalAlloc(LPTR, dwNewAclSize);
+       pacl = (PACL) HeapAlloc(hDefaultProcessHeap, 0, dwNewAclSize);

These calls are not equal, the LocalAlloc calls zeroes out the allocated memory
but the HeapAlloc does not unless the HEAP_ZERO_MEMORY flag is passed.  I
haven't read the code enough to know if that matters, but it seems relevant to
at least discuss.
Yeah, I missed that.
But works fine and passes all tests.
If really ok, yet another improvement by avoiding useless padding.

CF entry created.

regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Assertion failure in WaitForWALToBecomeAvailable state machine
Next
From: Japin Li
Date:
Subject: Re: SUBTRANS: Minimizing calls to SubTransSetParent()