aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/postmaster/postmaster.c3
-rw-r--r--src/include/postmaster/bgworker.h7
2 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 1e41a0e75ec..f219bd13013 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -5247,9 +5247,6 @@ RegisterBackgroundWorker(BackgroundWorker *worker)
}
rw->rw_worker = *worker;
- rw->rw_worker.bgw_name = ((char *) rw) + sizeof(RegisteredBgWorker);
- strlcpy(rw->rw_worker.bgw_name, worker->bgw_name, namelen + 1);
-
rw->rw_backend = NULL;
rw->rw_pid = 0;
rw->rw_child_slot = 0;
diff --git a/src/include/postmaster/bgworker.h b/src/include/postmaster/bgworker.h
index e91e344eb67..e0f468fab9e 100644
--- a/src/include/postmaster/bgworker.h
+++ b/src/include/postmaster/bgworker.h
@@ -52,7 +52,7 @@
#define BGWORKER_BACKEND_DATABASE_CONNECTION 0x0002
-typedef void (*bgworker_main_type) (void *main_arg);
+typedef void (*bgworker_main_type) (Datum main_arg);
/*
* Points in time at which a bgworker can request to be started
@@ -66,15 +66,16 @@ typedef enum
#define BGW_DEFAULT_RESTART_INTERVAL 60
#define BGW_NEVER_RESTART -1
+#define BGW_MAXLEN 64
typedef struct BackgroundWorker
{
- char *bgw_name;
+ char bgw_name[BGW_MAXLEN];
int bgw_flags;
BgWorkerStartTime bgw_start_time;
int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */
bgworker_main_type bgw_main;
- void *bgw_main_arg;
+ Datum bgw_main_arg;
} BackgroundWorker;
/* Register a new bgworker */