Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5adbbcc

Browse files
author
Vladimir Ershov
committed
Merge commit 'fd0f452b8a1f96dd42aa1ca99ec06fbc65891058' into PGPROEE10_scheduler
2 parents 7abde45 + fd0f452 commit 5adbbcc

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

contrib/pgpro_scheduler/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ else
2424
subdir = contrib/pgpro_scheduler
2525
top_builddir = ../..
2626
include $(top_builddir)/src/Makefile.global
27-
include $(top_srcdir)/contrib/contrib-global.mk
2827
ifneq ($(MAJORVERSION),10)
2928
PG_CPPFLAGS = -D_WITH_MTM -I$(top_srcdir)/contrib/mmts -I$(libpq_srcdir)
3029
endif
30+
include $(top_srcdir)/contrib/contrib-global.mk
3131
endif
3232

3333
#check: temp-install

contrib/pgpro_scheduler/src/scheduler_mtm.c

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,15 @@ Oid get_mtm_node_status_pkey_oid(void)
111111

112112
bool check_mtm_compatibility(void)
113113
{
114-
if(pg_dlsym(RTLD_DEFAULT, "MtmGetDisabledNodeMask")) return true;
114+
void *handler;
115+
116+
handler = pg_dlopen(NULL);
117+
if(pg_dlsym(handler, "MtmGetDisabledNodeMask"))
118+
{
119+
pg_dlclose(handler);
120+
return true;
121+
}
122+
pg_dlclose(handler);
115123
elog(WARNING, "The version of multimaster extension found is not compatiable with pgpro_scheduler. Pgpro_scheduler is functional but with some issues. Consider to upgrade multimaster.");
116124
return false;
117125
}
@@ -179,9 +187,12 @@ set_state(PG_FUNCTION_ARGS)
179187
nodemask_t call_MtmGetDisabledNodeMask(void)
180188
{
181189
void *ptr;
190+
void *handler;
182191

183192
if(fptr_MtmGetDisabledNodeMask) (*fptr_MtmGetDisabledNodeMask)();
184-
ptr = pg_dlsym(RTLD_DEFAULT, "MtmGetDisabledNodeMask");
193+
handler = pg_dlopen(NULL);
194+
ptr = pg_dlsym(handler, "MtmGetDisabledNodeMask");
195+
pg_dlclose(handler);
185196
if(ptr)
186197
{
187198
fptr_MtmGetDisabledNodeMask = (nodemask_t (*)(void))ptr;
@@ -196,9 +207,12 @@ nodemask_t call_MtmGetDisabledNodeMask(void)
196207
MtmNodeStatus call_MtmGetCurrentStatus(void)
197208
{
198209
void *ptr;
210+
void *handler;
199211

200212
if(fptr_MtmGetCurrentStatus) (*fptr_MtmGetCurrentStatus)();
201-
ptr = pg_dlsym(RTLD_DEFAULT, "MtmGetCurrentStatus");
213+
handler = pg_dlopen(NULL);
214+
ptr = pg_dlsym(handler, "MtmGetCurrentStatus");
215+
pg_dlclose(handler);
202216
if(ptr)
203217
{
204218
fptr_MtmGetCurrentStatus = (MtmNodeStatus (*)(void))ptr;
@@ -215,9 +229,14 @@ MtmNodeStatus call_MtmGetCurrentStatus(void)
215229
void call_MtmToggleDML(void)
216230
{
217231
void *ptr;
232+
void *handler;
218233

219234
if(fptr_MtmToggleDML) (*fptr_MtmToggleDML)();
220-
ptr = pg_dlsym(RTLD_DEFAULT, "MtmToggleDML");
235+
236+
handler = pg_dlopen(NULL);
237+
ptr = pg_dlsym(handler, "MtmToggleDML");
238+
pg_dlclose(handler);
239+
221240
if(ptr)
222241
{
223242
fptr_MtmToggleDML = (void (*)(void))ptr;

0 commit comments

Comments
 (0)