Re: Proposal: Add a callback data parameter to GetNamedDSMSegment
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: Zsolt Parragi <zsolt.parragi@percona.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-12T16:05:23Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow passing a pointer to GetNamedDSMSegment()'s init callback.
- 48d4a1423d2e 19 (unreleased) landed
-
Move dynamically-allocated LWLock tranche names to shared memory.
- 38b602b0289f 19 (unreleased) cited
On Thu, Dec 11, 2025 at 05:17:30PM -0600, Sami Imseih wrote: >> If the initialization callback function needed the name, it could be >> provided via the "void *" callback argument, right? I'm not following why >> we need to provide it separately. > > While it's true it can be passed as extra data, it is less error-prone > as we guarantee the real name of the segment is made available to > the callback. Also a caller to GetNamedDSMSegment does not need to > pass the name twice, as the name and as extra data. The most common > case I would think is using the segment name as the tranche name when > initializing a lwlock. But... they can just pass that in the "void *" argument. I'm pretty firmly -1 for adding more than the one callback argument here. -- nathan