From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
---|---|
To: | Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> |
Cc: | Abhijit Menon-Sen <ams(at)toroid(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: introduce dynamic shared memory registry |
Date: | 2024-01-16 16:07:48 |
Message-ID: | 20240116160748.GB100542@nathanxps13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jan 16, 2024 at 10:28:29AM +0530, Bharath Rupireddy wrote:
> I think it's better for GetNamedDSMSegment() to error out on empty
> 'name' and size 0. This makes the user-facing function
> GetNamedDSMSegment more concrete.
Agreed, thanks for the suggestion.
> +void *
> +GetNamedDSMSegment(const char *name, size_t size,
> + void (*init_callback) (void *ptr), bool *found)
>
> + Assert(found);
>
> Why is input parameter 'found' necessary to be passed by the caller?
> Neither the test module added, nor the pg_prewarm is using the found
> variable. The function will anyway create the DSM segment if one with
> the given name isn't found. IMO, found is an optional parameter for
> the caller. So, the assert(found) isn't necessary.
The autoprewarm change (0003) does use this variable. I considered making
it optional (i.e., you could pass in NULL if you didn't want it), but I
didn't feel like the extra code in GetNamedDSMSegment() to allow this was
worth it so that callers could avoid creating a single bool.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
Attachment | Content-Type | Size |
---|---|---|
v8-0001-reorganize-shared-memory-and-lwlocks-documentatio.patch | text/x-diff | 9.3 KB |
v8-0002-add-dsm-registry.patch | text/x-diff | 22.6 KB |
v8-0003-use-dsm-registry-for-pg_prewarm.patch | text/x-diff | 3.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | feichanghong | 2024-01-16 16:21:11 | Re: "ERROR: could not open relation with OID 16391" error was encountered when reindexing |
Previous Message | Laurenz Albe | 2024-01-16 16:07:36 | Re: psql JSON output format |