1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-19 13:42:17 +03:00

backend launchers void * arguments for binary data

Change backend launcher functions to take void * for binary data
instead of char *.  This removes the need for numerous casts.

Reviewed-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Discussion: https://www.postgresql.org/message-id/flat/fd1fcedb-3492-4fc8-9e3e-74b97f2db6c7%40eisentraut.org
This commit is contained in:
Peter Eisentraut
2025-02-21 08:03:33 +01:00
parent b50a554cc8
commit 7202d72787
26 changed files with 42 additions and 42 deletions

View File

@@ -364,7 +364,7 @@ static void check_av_worker_gucs(void);
* Main entry point for the autovacuum launcher process.
*/
void
AutoVacLauncherMain(char *startup_data, size_t startup_data_len)
AutoVacLauncherMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
@@ -1371,7 +1371,7 @@ avl_sigusr2_handler(SIGNAL_ARGS)
* Main entry point for autovacuum worker processes.
*/
void
AutoVacWorkerMain(char *startup_data, size_t startup_data_len)
AutoVacWorkerMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
Oid dbid;

View File

@@ -714,7 +714,7 @@ bgworker_die(SIGNAL_ARGS)
* Main entry point for background worker processes.
*/
void
BackgroundWorkerMain(char *startup_data, size_t startup_data_len)
BackgroundWorkerMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
BackgroundWorker *worker;

View File

@@ -84,7 +84,7 @@ static XLogRecPtr last_snapshot_lsn = InvalidXLogRecPtr;
* basic execution environment, but not enabled signals yet.
*/
void
BackgroundWriterMain(char *startup_data, size_t startup_data_len)
BackgroundWriterMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
MemoryContext bgwriter_context;

View File

@@ -175,7 +175,7 @@ static void ReqShutdownXLOG(SIGNAL_ARGS);
* basic execution environment, but not enabled signals yet.
*/
void
CheckpointerMain(char *startup_data, size_t startup_data_len)
CheckpointerMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
MemoryContext checkpointer_context;

View File

@@ -149,7 +149,7 @@ typedef struct
#define SizeOfBackendParameters(startup_data_len) (offsetof(BackendParameters, startup_data) + startup_data_len)
static void read_backend_variables(char *id, char **startup_data, size_t *startup_data_len);
static void read_backend_variables(char *id, void **startup_data, size_t *startup_data_len);
static void restore_backend_variables(BackendParameters *param);
static bool save_backend_variables(BackendParameters *param, int child_slot,
@@ -157,10 +157,10 @@ static bool save_backend_variables(BackendParameters *param, int child_slot,
#ifdef WIN32
HANDLE childProcess, pid_t childPid,
#endif
char *startup_data, size_t startup_data_len);
const void *startup_data, size_t startup_data_len);
static pid_t internal_forkexec(const char *child_kind, int child_slot,
char *startup_data, size_t startup_data_len,
const void *startup_data, size_t startup_data_len,
ClientSocket *client_sock);
#endif /* EXEC_BACKEND */
@@ -171,7 +171,7 @@ static pid_t internal_forkexec(const char *child_kind, int child_slot,
typedef struct
{
const char *name;
void (*main_fn) (char *startup_data, size_t startup_data_len) pg_attribute_noreturn();
void (*main_fn) (const void *startup_data, size_t startup_data_len) pg_attribute_noreturn();
bool shmem_attach;
} child_process_kind;
@@ -225,7 +225,7 @@ PostmasterChildName(BackendType child_type)
*/
pid_t
postmaster_child_launch(BackendType child_type, int child_slot,
char *startup_data, size_t startup_data_len,
const void *startup_data, size_t startup_data_len,
ClientSocket *client_sock)
{
pid_t pid;
@@ -289,7 +289,7 @@ postmaster_child_launch(BackendType child_type, int child_slot,
*/
static pid_t
internal_forkexec(const char *child_kind, int child_slot,
char *startup_data, size_t startup_data_len, ClientSocket *client_sock)
const void *startup_data, size_t startup_data_len, ClientSocket *client_sock)
{
static unsigned long tmpBackendFileNum = 0;
pid_t pid;
@@ -399,7 +399,7 @@ internal_forkexec(const char *child_kind, int child_slot,
*/
static pid_t
internal_forkexec(const char *child_kind, int child_slot,
char *startup_data, size_t startup_data_len, ClientSocket *client_sock)
const void *startup_data, size_t startup_data_len, ClientSocket *client_sock)
{
int retry_count = 0;
STARTUPINFO si;
@@ -581,7 +581,7 @@ retry:
void
SubPostmasterMain(int argc, char *argv[])
{
char *startup_data;
void *startup_data;
size_t startup_data_len;
char *child_kind;
BackendType child_type;
@@ -699,7 +699,7 @@ save_backend_variables(BackendParameters *param,
#ifdef WIN32
HANDLE childProcess, pid_t childPid,
#endif
char *startup_data, size_t startup_data_len)
const void *startup_data, size_t startup_data_len)
{
if (client_sock)
memcpy(&param->client_sock, client_sock, sizeof(ClientSocket));
@@ -867,7 +867,7 @@ read_inheritable_socket(SOCKET *dest, InheritableSocket *src)
#endif
static void
read_backend_variables(char *id, char **startup_data, size_t *startup_data_len)
read_backend_variables(char *id, void **startup_data, size_t *startup_data_len)
{
BackendParameters param;

View File

@@ -214,7 +214,7 @@ PgArchCanRestart(void)
/* Main entry point for archiver process */
void
PgArchiverMain(char *startup_data, size_t startup_data_len)
PgArchiverMain(const void *startup_data, size_t startup_data_len)
{
Assert(startup_data_len == 0);

View File

@@ -3517,7 +3517,7 @@ BackendStartup(ClientSocket *client_sock)
bn->bgworker_notify = false;
pid = postmaster_child_launch(bn->bkend_type, bn->child_slot,
(char *) &startup_data, sizeof(startup_data),
&startup_data, sizeof(startup_data),
client_sock);
if (pid < 0)
{
@@ -4080,7 +4080,7 @@ StartBackgroundWorker(RegisteredBgWorker *rw)
rw->rw_worker.bgw_name)));
worker_pid = postmaster_child_launch(B_BG_WORKER, bn->child_slot,
(char *) &rw->rw_worker, sizeof(BackgroundWorker), NULL);
&rw->rw_worker, sizeof(BackgroundWorker), NULL);
if (worker_pid == -1)
{
/* in postmaster, fork failed ... */

View File

@@ -213,7 +213,7 @@ StartupProcExit(int code, Datum arg)
* ----------------------------------
*/
void
StartupProcessMain(char *startup_data, size_t startup_data_len)
StartupProcessMain(const void *startup_data, size_t startup_data_len)
{
Assert(startup_data_len == 0);

View File

@@ -162,7 +162,7 @@ typedef struct
* argc/argv parameters are valid only in EXEC_BACKEND case.
*/
void
SysLoggerMain(char *startup_data, size_t startup_data_len)
SysLoggerMain(const void *startup_data, size_t startup_data_len)
{
#ifndef WIN32
char logbuffer[READ_BUF_SIZE];
@@ -183,7 +183,7 @@ SysLoggerMain(char *startup_data, size_t startup_data_len)
*/
#ifdef EXEC_BACKEND
{
SysloggerStartupData *slsdata = (SysloggerStartupData *) startup_data;
const SysloggerStartupData *slsdata = startup_data;
Assert(startup_data_len == sizeof(*slsdata));
syslogFile = syslogger_fdopen(slsdata->syslogFile);
@@ -699,7 +699,7 @@ SysLogger_Start(int child_slot)
startup_data.csvlogFile = syslogger_fdget(csvlogFile);
startup_data.jsonlogFile = syslogger_fdget(jsonlogFile);
sysloggerPid = postmaster_child_launch(B_LOGGER, child_slot,
(char *) &startup_data, sizeof(startup_data), NULL);
&startup_data, sizeof(startup_data), NULL);
#else
sysloggerPid = postmaster_child_launch(B_LOGGER, child_slot,
NULL, 0, NULL);

View File

@@ -208,7 +208,7 @@ WalSummarizerShmemInit(void)
* Entry point for walsummarizer process.
*/
void
WalSummarizerMain(char *startup_data, size_t startup_data_len)
WalSummarizerMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
MemoryContext context;

View File

@@ -84,7 +84,7 @@ int WalWriterFlushAfter = DEFAULT_WAL_WRITER_FLUSH_AFTER;
* basic execution environment, but not enabled signals yet.
*/
void
WalWriterMain(char *startup_data, size_t startup_data_len)
WalWriterMain(const void *startup_data, size_t startup_data_len)
{
sigjmp_buf local_sigjmp_buf;
MemoryContext walwriter_context;