=== Applying patches on top of PostgreSQL commit ID 66ad764c8d517f59577d41ac3dad786729c9e10e === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Tue Apr 14 20:13:28 UTC 2026 On branch cf/5118 nothing to commit, working tree clean === using 'git am' to apply patch ./v12a-0001-Refactor-how-some-aux-processes-advertise-their.patch === Applying: Refactor how some aux processes advertise their ProcNumber Using index info to reconstruct a base tree... M src/backend/access/transam/xlog.c M src/backend/postmaster/autovacuum.c M src/backend/postmaster/checkpointer.c M src/backend/storage/lmgr/proc.c M src/include/storage/proc.h Falling back to patching base and 3-way merge... Auto-merging src/include/storage/proc.h Auto-merging src/backend/storage/lmgr/proc.c Auto-merging src/backend/postmaster/checkpointer.c Auto-merging src/backend/postmaster/autovacuum.c CONFLICT (content): Merge conflict in src/backend/postmaster/autovacuum.c Auto-merging src/backend/access/transam/xlog.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Refactor how some aux processes advertise their ProcNumber When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./v12a-0001-Refactor-how-some-aux-processes-advertise-their.patch === patching file src/include/storage/proc.h patching file src/backend/access/transam/xlog.c Hunk #1 succeeded at 2671 (offset 34 lines). patching file src/backend/postmaster/autovacuum.c Hunk #1 succeeded at 286 (offset 8 lines). Hunk #2 succeeded at 301 (offset 8 lines). Hunk #3 succeeded at 600 (offset 37 lines). Hunk #4 succeeded at 833 (offset 37 lines). Hunk #5 succeeded at 1563 (offset 37 lines). Hunk #6 succeeded at 1583 (offset 37 lines). Hunk #7 FAILED at 3396. 1 out of 7 hunks FAILED -- saving rejects to file src/backend/postmaster/autovacuum.c.rej patching file src/backend/postmaster/checkpointer.c Hunk #2 succeeded at 359 (offset 9 lines). Hunk #3 succeeded at 1115 (offset -6 lines). Hunk #4 succeeded at 1256 (offset -6 lines). Hunk #5 succeeded at 1537 (offset -6 lines). patching file src/backend/postmaster/walwriter.c patching file src/backend/storage/lmgr/proc.c Hunk #1 succeeded at 240 (offset 28 lines). Hunk #2 succeeded at 726 (offset 13 lines). Hunk #3 succeeded at 1078 (offset 13 lines). Unstaged changes after reset: M src/backend/access/transam/xlog.c M src/backend/postmaster/autovacuum.c M src/backend/postmaster/checkpointer.c M src/backend/postmaster/walwriter.c M src/backend/storage/lmgr/proc.c M src/include/storage/proc.h Removing src/backend/postmaster/autovacuum.c.rej === using 'git apply' to apply patch ./v12a-0001-Refactor-how-some-aux-processes-advertise-their.patch === Applied patch to 'src/include/storage/proc.h' cleanly. Applied patch to 'src/backend/access/transam/xlog.c' cleanly. Applied patch to 'src/backend/postmaster/autovacuum.c' with conflicts. Applied patch to 'src/backend/postmaster/checkpointer.c' cleanly. Applied patch to 'src/backend/postmaster/walwriter.c' cleanly. Applied patch to 'src/backend/storage/lmgr/proc.c' cleanly. U src/backend/postmaster/autovacuum.c diff --cc src/backend/postmaster/autovacuum.c index 82061247988,74574e1eaf9..00000000000 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@@ -3547,32 -3377,47 +3549,51 @@@ AutoVacuumShmemRequest(void *arg /* * AutoVacuumShmemInit - * Allocate and initialize autovacuum-related shared memory + * Initialize autovacuum-related shared memory */ -void -AutoVacuumShmemInit(void) +static void +AutoVacuumShmemInit(void *arg) { - bool found; - - AutoVacuumShmem = (AutoVacuumShmemStruct *) - ShmemInitStruct("AutoVacuum Data", - AutoVacuumShmemSize(), - &found); - - if (!IsUnderPostmaster) - { - WorkerInfo worker; - int i; - - Assert(!found); - + WorkerInfo worker; + ++<<<<<<< ours + AutoVacuumShmem->av_launcherpid = 0; + dclist_init(&AutoVacuumShmem->av_freeWorkers); + dlist_init(&AutoVacuumShmem->av_runningWorkers); + AutoVacuumShmem->av_startingWorker = NULL; + memset(AutoVacuumShmem->av_workItems, 0, + sizeof(AutoVacuumWorkItem) * NUM_WORKITEMS); ++======= + dclist_init(&AutoVacuumShmem->av_freeWorkers); + dlist_init(&AutoVacuumShmem->av_runningWorkers); + AutoVacuumShmem->av_startingWorker = NULL; + memset(AutoVacuumShmem->av_workItems, 0, + sizeof(AutoVacuumWorkItem) * NUM_WORKITEMS); + + worker = (WorkerInfo) ((char *) AutoVacuumShmem + + MAXALIGN(sizeof(AutoVacuumShmemStruct))); + + /* initialize the WorkerInfo free list */ + for (i = 0; i < autovacuum_worker_slots; i++) + { + dclist_push_head(&AutoVacuumShmem->av_freeWorkers, + &worker[i].wi_links); + pg_atomic_init_flag(&worker[i].wi_dobalance); + } ++>>>>>>> theirs - pg_atomic_init_u32(&AutoVacuumShmem->av_nworkersForBalance, 0); + worker = (WorkerInfo) ((char *) AutoVacuumShmem + + MAXALIGN(sizeof(AutoVacuumShmemStruct))); + /* initialize the WorkerInfo free list */ + for (int i = 0; i < autovacuum_worker_slots; i++) + { + dclist_push_head(&AutoVacuumShmem->av_freeWorkers, + &worker[i].wi_links); + pg_atomic_init_flag(&worker[i].wi_dobalance); } - else - Assert(found); + + pg_atomic_init_u32(&AutoVacuumShmem->av_nworkersForBalance, 0); } /*