signal-some-children-v2.patch
application/octet-stream
Filename: signal-some-children-v2.patch
Type: application/octet-stream
Part: 0
Message:
Re: bug in SignalSomeChildren
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: context
Series: patch v2
| File | + | − |
|---|---|---|
| src/backend/postmaster/postmaster.c | 26 | 0 |
*** a/src/backend/postmaster/postmaster.c
--- b/src/backend/postmaster/postmaster.c
***************
*** 3149,3161 **** SignalSomeChildren(int signal, int target)
if (bp->dead_end)
continue;
! if (!(target & BACKEND_TYPE_NORMAL) && !bp->is_autovacuum)
! continue;
! if (!(target & BACKEND_TYPE_AUTOVAC) && bp->is_autovacuum)
! continue;
! if (!(target & BACKEND_TYPE_WALSND) &&
! IsPostmasterChildWalSender(bp->child_slot))
! continue;
ereport(DEBUG4,
(errmsg_internal("sending signal %d to process %d",
--- 3149,3167 ----
if (bp->dead_end)
continue;
! if (!(target & BACKEND_TYPE_ALL))
! {
! int child;
!
! if (bp->is_autovacuum)
! child = BACKEND_TYPE_AUTOVAC;
! else if (IsPostmasterChildWalSender(bp->child_slot))
! child = BACKEND_TYPE_WALSND;
! else
! child = BACKEND_TYPE_NORMAL;
! if (!(target & child))
! continue;
! }
ereport(DEBUG4,
(errmsg_internal("sending signal %d to process %d",
***************
*** 4362,4374 **** CountChildren(int target)
if (bp->dead_end)
continue;
! if (!(target & BACKEND_TYPE_NORMAL) && !bp->is_autovacuum)
! continue;
! if (!(target & BACKEND_TYPE_AUTOVAC) && bp->is_autovacuum)
! continue;
! if (!(target & BACKEND_TYPE_WALSND) &&
! IsPostmasterChildWalSender(bp->child_slot))
! continue;
cnt++;
}
--- 4368,4386 ----
if (bp->dead_end)
continue;
! if (!(target & BACKEND_TYPE_ALL))
! {
! int child;
!
! if (bp->is_autovacuum)
! child = BACKEND_TYPE_AUTOVAC;
! else if (IsPostmasterChildWalSender(bp->child_slot))
! child = BACKEND_TYPE_WALSND;
! else
! child = BACKEND_TYPE_NORMAL;
! if (!(target & child))
! continue;
! }
cnt++;
}