Re: Proposal: Add a callback data parameter to GetNamedDSMSegment
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Zsolt Parragi <zsolt.parragi@percona.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-11T23:17:30Z
Lists: pgsql-hackers
> > I went back-forth on if it makes sense to provide the name as an > > extra argument and decided it provides more flexibility. For example > > I can use the same init callback and arguments for different segments. > > 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. -- Sami Imseih Amazon Web Services (AWS)