On Thu, Aug 6, 2020 at 11:51 PM Robert Haas <robertmh...@gmail.com> wrote: > > On Thu, Jul 30, 2020 at 8:11 AM Robert Haas <robertmh...@gmail.com> wrote: > > Unless somebody complains pretty soon, I'm going to go ahead and do > > what is described above. > > Done. >
Thanks! I have one more request to make: since we are of the opinion to not change the way cancel_before_shmem_exit() searches before_shmem_exit_list array, wouldn't it be good to adjust comments before the function cancel_before_shmem_exit()? I sent the patch previously[1], but attaching here again, modifies cancel_before_shmem_exit() function comment to reflect the safe usage of before_shmem_exit_list callback mechanism and also removes the point "For simplicity, only the latest entry can be removed*********" as this gives a meaning that there is still scope for improvement in cancel_before_shmem_exit() search mechanism. Thoughts? [1] - https://www.postgresql.org/message-id/CALj2ACVwOKZ8qYUsZrU2y2efnYZOLRxPC6k52FQcB3oriH9Kcg%40mail.gmail.com With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com
From b1c8e83b5c81102070a66d7761ee2aa8894d6ec2 Mon Sep 17 00:00:00 2001 From: Bharath Rupireddy <bharath.rupireddy@enterprisedb.com> Date: Fri, 24 Jul 2020 09:35:54 +0530 Subject: [PATCH v1] Modify cancel_before_shmem_exit() comments Currently, there is no mention of safe usage of cancel_before_shmem_exit() in the function comment and also it has a point that, there is still scope for improving the way cancel_before_shmem_exit() looks for callback to removed from before_shmem_exit_list. So, this patch modifies the comment to reflect how the caller needs to use before_shmem_exit_list mechanism. --- src/backend/storage/ipc/ipc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c index bdbc2c3ac4..4ade61fe38 100644 --- a/src/backend/storage/ipc/ipc.c +++ b/src/backend/storage/ipc/ipc.c @@ -381,9 +381,9 @@ on_shmem_exit(pg_on_exit_callback function, Datum arg) * cancel_before_shmem_exit * * this function removes a previously-registered before_shmem_exit - * callback. For simplicity, only the latest entry can be - * removed. (We could work harder but there is no need for - * current uses.) + * callback. We only look at the latest entry for removal, as we + * expect the caller to use before_shmem_exit callback mechanism + * in the LIFO order. Un-ordered removal of callbacks may be risky. * ---------------------------------------------------------------- */ void -- 2.25.1