On 2017-04-10 07:02:06 +0000, shao bret wrote:
> Hi Michael,
> Thanks for your quickly response!
> I think maybe you have a little misunderstanding with my solution.
>
> My solution is that
> if (!found)
> {
> int i;
> MemSet(replication_states_ctl, 0, ReplicationOriginShmemSize());
> replication_states_ctl->tranche_id = LWLockNewTrancheId();
> replication_states_ctl->tranche.name = "ReplicationOrigins";
> replication_states_ctl->tranche.array_base =
> &replication_states[0].lock;
> replication_states_ctl->tranche.array_stride =
> sizeof(ReplicationState);
>
> //MemSet(replication_states, 0, ReplicationOriginShmemSize());
>
> for (i = 0; i < max_replication_slots; i++)
> LWLockInitialize(&replication_states[i].lock,
> replication_states_ctl->tranche_id);
> }
> So I think it’s easier for understanding code.
> What do you think?
That's imo just more work to maintain if additional fields added.
- Andres
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs