2 Feb
2023
2 Feb
'23
3:45 p.m.
Jinoh Kang (@iamahuman) commented about dlls/ntdll/heap.c:
+ * the current affinity_group might be only partially free. + */ + if (!InterlockedCompareExchangePointer( (void *)&category->affinity_group[affinity], group, NULL )) + return STATUS_SUCCESS; + + /* try re-using the block group instead of releasing it */ +#ifdef _WIN64 + if (category->groups.Header16.Depth <= 16) +#else + if (category->groups.Depth <= 16) +#endif + RtlInterlockedPushEntrySList( &category->groups, (SLIST_ENTRY *)&group->entry ); + else + status = group_release( heap, flags, category, group ); + + return status;
{
RtlInterlockedPushEntrySList( &category->groups, (SLIST_ENTRY *)&group->entry );bi
return STATUS_SUCCESS;
}
return group_release( heap, flags, category, group );
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1628#note_22835