@@ -715,6 +715,7 @@ static void MtmSender(Datum arg)
715
715
pqsignal (SIGINT ,SetStop );
716
716
pqsignal (SIGQUIT ,SetStop );
717
717
pqsignal (SIGTERM ,SetStop );
718
+ pqsignal (SIGHUP ,PostgresSigHupHandler );
718
719
719
720
/* We're now ready to receive signals */
720
721
BackgroundWorkerUnblockSignals ();
@@ -733,6 +734,12 @@ static void MtmSender(Datum arg)
733
734
PGSemaphoreLock (& Mtm -> sendSemaphore );
734
735
CHECK_FOR_INTERRUPTS ();
735
736
737
+ if (ConfigReloadPending )
738
+ {
739
+ ConfigReloadPending = false;
740
+ ProcessConfigFile (PGC_SIGHUP );
741
+ }
742
+
736
743
MtmCheckHeartbeat ();
737
744
/*
738
745
* Use shared lock to improve locality,
@@ -794,6 +801,7 @@ static void MtmMonitor(Datum arg)
794
801
pqsignal (SIGINT ,SetStop );
795
802
pqsignal (SIGQUIT ,SetStop );
796
803
pqsignal (SIGTERM ,SetStop );
804
+ pqsignal (SIGHUP ,PostgresSigHupHandler );
797
805
798
806
MtmBackgroundWorker = true;
799
807
@@ -808,6 +816,13 @@ static void MtmMonitor(Datum arg)
808
816
if (rc & WL_POSTMASTER_DEATH ) {
809
817
break ;
810
818
}
819
+
820
+ if (ConfigReloadPending )
821
+ {
822
+ ConfigReloadPending = false;
823
+ ProcessConfigFile (PGC_SIGHUP );
824
+ }
825
+
811
826
MtmRefreshClusterStatus ();
812
827
}
813
828
}
@@ -833,6 +848,7 @@ static void MtmReceiver(Datum arg)
833
848
pqsignal (SIGINT ,SetStop );
834
849
pqsignal (SIGQUIT ,SetStop );
835
850
pqsignal (SIGTERM ,SetStop );
851
+ pqsignal (SIGHUP ,PostgresSigHupHandler );
836
852
837
853
MtmBackgroundWorker = true;
838
854
@@ -868,7 +884,14 @@ static void MtmReceiver(Datum arg)
868
884
for (j = 0 ;j < n ;j ++ ) {
869
885
if (events [j ].events & EPOLLIN )
870
886
#else
871
- fd_set events ;
887
+ fd_set events ;
888
+
889
+ if (ConfigReloadPending )
890
+ {
891
+ ConfigReloadPending = false;
892
+ ProcessConfigFile (PGC_SIGHUP );
893
+ }
894
+
872
895
do {
873
896
struct timeval tv ;
874
897
events = inset ;