Hi Andres,
>> > + if (hashp->isshared) >> > + { >> > + int nsegs; >> > + int nbuckets; >> > + nsegs = find_num_of_segs(nelem, &nbuckets, >> hctl->num_partitions, hctl->ssize); >> > + >> > + curr_offset = (((char *) hashp->hctl) + >> sizeof(HASHHDR) + (info->dsize * sizeof(HASHSEGMENT)) + >> > + + (sizeof(HASHBUCKET) * hctl->ssize * nsegs)); >> > + } >> > + >> >> Why only do this for shared hashtables? Couldn't we allocate the elments >> together with the rest for non-share hashtables too? >> > > I have now made the changes uniformly across shared and non-shared hash tables, making the code fix look cleaner. I hope this aligns with your suggestions. Please find attached updated and rebased versions of both patches. Kindly let me know your views. Thank you, Rahila Syed
v3-0001-Account-for-initial-shared-memory-allocated-by-hash_.patch
Description: Binary data
v3-0002-Replace-ShmemAlloc-calls-by-ShmemInitStruct.patch
Description: Binary data