Re: Proposal: Add a callback data parameter to GetNamedDSMSegment - Mailing list pgsql-hackers

From Zsolt Parragi
Subject Re: Proposal: Add a callback data parameter to GetNamedDSMSegment
Date
Msg-id CAN4CZFP5P3AL9M=Q_nhBycKTy2wG23PLxTzmso5QwR3On2bnFQ@mail.gmail.com
Whole thread Raw
In response to Re: Proposal: Add a callback data parameter to GetNamedDSMSegment  (Sami Imseih <samimseih@gmail.com>)
Responses Re: Proposal: Add a callback data parameter to GetNamedDSMSegment
List pgsql-hackers
> "caller after returning from GetNamedDSHash" <- do you mean
> GetNamedDSMSegment ?

Yes, that was a typo.

> wouldn't the above be sufficient to create a DSM segment containing
> a flexible array?

Yes, it creates it, but can I initialize it properly in
foo_init_state? How can I set the size member to the proper array
size, and how can I zero-initialize the array with the correct length
in it? What I can do currently is:

1. create the lwlock and set size to 0 in foo_init_state
2. take the lwlock after GetNamedDSMSegment returns
3. if size is 0 set it properly and zero-initialize the array

That's why I said that there is a workaround, but it would be nicer if
I could do it properly in the init callback, by passing the array size
as a parameter to it.



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: Add pg_atomic_unlocked_write_u64
Next
From: Álvaro Herrera
Date:
Subject: Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY