Skip to content

Commit 141c609

Browse files
author
Vladimir Ershov
committed
fix register bgworker context
1 parent fb99fab commit 141c609

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/scheduler_manager.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,6 +1663,7 @@ int start_at_worker(scheduler_manager_ctx_t *ctx, int pos)
16631663
BgwHandleStatus status;
16641664
scheduler_manager_slot_t *item;
16651665
ResourceOwner prev_owner;
1666+
MemoryContext old;
16661667

16671668
prev_owner = CurrentResourceOwner;
16681669
CurrentResourceOwner = ResourceOwnerCreate(NULL, "pgpro_scheduler");
@@ -1699,15 +1700,18 @@ int start_at_worker(scheduler_manager_ctx_t *ctx, int pos)
16991700

17001701
CurrentResourceOwner = prev_owner;
17011702

1703+
old = MemoryContextSwitchTo(ctx->mem_ctx);
17021704
if(!RegisterDynamicBackgroundWorker(&worker, &(item->handler)))
17031705
{
17041706
elog(LOG, "Cannot register AT executor worker for db: %s",
17051707
shm_data->database);
17061708
dsm_detach(item->shared);
17071709
pfree(item);
17081710
ctx->at.slots[pos] = NULL;
1711+
MemoryContextSwitchTo(old);
17091712
return 0;
17101713
}
1714+
MemoryContextSwitchTo(old);
17111715
status = WaitForBackgroundWorkerStartup(item->handler, &(item->pid));
17121716
if(status != BGWH_STARTED)
17131717
{

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy