diff options
author | Nathan Bossart | 2023-07-03 22:02:16 +0000 |
---|---|---|
committer | Nathan Bossart | 2023-07-03 22:02:16 +0000 |
commit | 957845789bb97dde2cb1ee11c1a769984131adf6 (patch) | |
tree | 90773820c266eac0c99701396ce80f14e46bd990 | |
parent | 126552c85c1cfb6ce6445159b8024cfa5631f33e (diff) |
Increase size of bgw_library_name.
This commit increases the size of the bgw_library_name member of
the BackgroundWorker struct from BGW_MAXLEN (96) bytes to MAXPGPATH
(default of 1024) bytes so that it can store longer file names
(e.g., absolute paths).
Author: Yurii Rashkovskii
Reviewed-by: Daniel Gustafsson, Aleksander Alekseev
Discussion: https://postgr.es/m/CA%2BRLCQyjFV5Y8tG5QgUb6gjteL4S3p%2B1gcyqWTqigyM93WZ9Pg%40mail.gmail.com
-rw-r--r-- | doc/src/sgml/bgworker.sgml | 2 | ||||
-rw-r--r-- | src/backend/postmaster/bgworker.c | 2 | ||||
-rw-r--r-- | src/backend/replication/logical/launcher.c | 4 | ||||
-rw-r--r-- | src/include/postmaster/bgworker.h | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/doc/src/sgml/bgworker.sgml b/doc/src/sgml/bgworker.sgml index 7ba5da27e50..9ad1146ba02 100644 --- a/doc/src/sgml/bgworker.sgml +++ b/doc/src/sgml/bgworker.sgml @@ -59,7 +59,7 @@ typedef struct BackgroundWorker int bgw_flags; BgWorkerStartTime bgw_start_time; int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */ - char bgw_library_name[BGW_MAXLEN]; + char bgw_library_name[MAXPGPATH]; char bgw_function_name[BGW_MAXLEN]; Datum bgw_main_arg; char bgw_extra[BGW_EXTRALEN]; diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c index 0dd22b23511..5b4bd71694b 100644 --- a/src/backend/postmaster/bgworker.c +++ b/src/backend/postmaster/bgworker.c @@ -362,7 +362,7 @@ BackgroundWorkerStateChange(bool allow_new_workers) ascii_safe_strlcpy(rw->rw_worker.bgw_type, slot->worker.bgw_type, BGW_MAXLEN); ascii_safe_strlcpy(rw->rw_worker.bgw_library_name, - slot->worker.bgw_library_name, BGW_MAXLEN); + slot->worker.bgw_library_name, MAXPGPATH); ascii_safe_strlcpy(rw->rw_worker.bgw_function_name, slot->worker.bgw_function_name, BGW_MAXLEN); diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 8395ae7b23c..542af7d863d 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -456,7 +456,7 @@ retry: bgw.bgw_flags = BGWORKER_SHMEM_ACCESS | BGWORKER_BACKEND_DATABASE_CONNECTION; bgw.bgw_start_time = BgWorkerStart_RecoveryFinished; - snprintf(bgw.bgw_library_name, BGW_MAXLEN, "postgres"); + snprintf(bgw.bgw_library_name, MAXPGPATH, "postgres"); if (is_parallel_apply_worker) snprintf(bgw.bgw_function_name, BGW_MAXLEN, "ParallelApplyWorkerMain"); @@ -910,7 +910,7 @@ ApplyLauncherRegister(void) bgw.bgw_flags = BGWORKER_SHMEM_ACCESS | BGWORKER_BACKEND_DATABASE_CONNECTION; bgw.bgw_start_time = BgWorkerStart_RecoveryFinished; - snprintf(bgw.bgw_library_name, BGW_MAXLEN, "postgres"); + snprintf(bgw.bgw_library_name, MAXPGPATH, "postgres"); snprintf(bgw.bgw_function_name, BGW_MAXLEN, "ApplyLauncherMain"); snprintf(bgw.bgw_name, BGW_MAXLEN, "logical replication launcher"); diff --git a/src/include/postmaster/bgworker.h b/src/include/postmaster/bgworker.h index 845d4498e65..7815507e3dc 100644 --- a/src/include/postmaster/bgworker.h +++ b/src/include/postmaster/bgworker.h @@ -93,7 +93,7 @@ typedef struct BackgroundWorker int bgw_flags; BgWorkerStartTime bgw_start_time; int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */ - char bgw_library_name[BGW_MAXLEN]; + char bgw_library_name[MAXPGPATH]; char bgw_function_name[BGW_MAXLEN]; Datum bgw_main_arg; char bgw_extra[BGW_EXTRALEN]; |