Fix misleading comments about background worker registration.
authorRobert Haas <rhaas@postgresql.org>
Fri, 6 May 2022 13:24:06 +0000 (09:24 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 6 May 2022 13:24:06 +0000 (09:24 -0400)
Since 6bc8ef0b7f1f1df3998745a66e1790e27424aa0c, the maximum number
of backends can't change as background workers are registered, but
these comments still reflect the way things worked prior to that.

Also, per recent discussion, some modules call SetConfigOption()
from _PG_init(). It's not entirely clear to me whether we want to
regard that as a fully supported operation, but since we know it's
a thing that happens, it at least deserves a mention in the comments,
so add that.

Nathan Bossart, reviewed by Anton A. Melnikov

Discussion: http://postgr.es/m/20220419154658.GA2487941@nathanxps13

src/backend/postmaster/postmaster.c
src/backend/utils/init/postinit.c

index 964a56dec4673c4d41c97a8a6ddfefd168f97543..ce4007bb2c70f232c645f4dc470afdcae866d8c3 100644 (file)
@@ -1005,10 +1005,8 @@ PostmasterMain(int argc, char *argv[])
    LocalProcessControlFile(false);
 
    /*
-    * Register the apply launcher.  Since it registers a background worker,
-    * it needs to be called before InitializeMaxBackends(), and it's probably
-    * a good idea to call it before any modules had chance to take the
-    * background worker slots.
+    * Register the apply launcher.  It's probably a good idea to call this
+    * before any modules had a chance to take the background worker slots.
     */
    ApplyLauncherRegister();
 
@@ -1029,8 +1027,8 @@ PostmasterMain(int argc, char *argv[])
 #endif
 
    /*
-    * Now that loadable modules have had their chance to register background
-    * workers, calculate MaxBackends.
+    * Now that loadable modules have had their chance to alter any GUCs,
+    * calculate MaxBackends.
     */
    InitializeMaxBackends();
 
index 38e5b54a15a25ad9132b6ab3fc4811776e7be7a4..d297ba082951870de11614a9063853b82ef48fed 100644 (file)
@@ -538,9 +538,8 @@ pg_split_opts(char **argv, int *argcp, const char *optstr)
 /*
  * Initialize MaxBackends value from config options.
  *
- * This must be called after modules have had the chance to register background
- * workers in shared_preload_libraries, and before shared memory size is
- * determined.
+ * This must be called after modules have had the chance to alter GUCs in
+ * shared_preload_libraries and before shared memory size is determined.
  *
  * Note that in EXEC_BACKEND environment, the value is passed down from
  * postmaster to subprocesses via BackendParameters in SubPostmasterMain; only