mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
Unify calling conventions for postgres/postmaster sub-main functions
There was a wild mix of calling conventions: Some were declared to return void and didn't return, some returned an int exit code, some claimed to return an exit code, which the callers checked, but actually never returned, and so on. Now all of these functions are declared to return void and decorated with attribute noreturn and don't return. That's easiest, and most code already worked that way.
This commit is contained in:
@@ -40,7 +40,7 @@ extern Form_pg_attribute attrtypes[MAXATTR];
|
||||
extern int numattr;
|
||||
|
||||
|
||||
extern void AuxiliaryProcessMain(int argc, char *argv[]);
|
||||
extern void AuxiliaryProcessMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
|
||||
extern void err_out(void);
|
||||
|
||||
|
@@ -749,7 +749,7 @@ extern void pgstat_reset_all(void);
|
||||
extern void allow_immediate_pgstat_restart(void);
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
extern void PgstatCollectorMain(int argc, char *argv[]);
|
||||
extern void PgstatCollectorMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
#endif
|
||||
|
||||
|
||||
|
@@ -52,8 +52,8 @@ extern void AutoVacWorkerFailed(void);
|
||||
extern void AutoVacuumUpdateDelay(void);
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
extern void AutoVacLauncherMain(int argc, char *argv[]);
|
||||
extern void AutoVacWorkerMain(int argc, char *argv[]);
|
||||
extern void AutoVacLauncherMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
extern void AutoVacWorkerMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
extern void AutovacuumWorkerIAm(void);
|
||||
extern void AutovacuumLauncherIAm(void);
|
||||
#endif
|
||||
|
@@ -25,8 +25,8 @@ extern int CheckPointTimeout;
|
||||
extern int CheckPointWarning;
|
||||
extern double CheckPointCompletionTarget;
|
||||
|
||||
extern void BackgroundWriterMain(void);
|
||||
extern void CheckpointerMain(void);
|
||||
extern void BackgroundWriterMain(void) __attribute__((noreturn));
|
||||
extern void CheckpointerMain(void) __attribute__((noreturn));
|
||||
|
||||
extern void RequestCheckpoint(int flags);
|
||||
extern void CheckpointWriteDelay(int flags, double progress);
|
||||
|
@@ -20,7 +20,7 @@
|
||||
extern int pgarch_start(void);
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
extern void PgArchiverMain(int argc, char *argv[]);
|
||||
extern void PgArchiverMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
#endif
|
||||
|
||||
#endif /* _PGARCH_H */
|
||||
|
@@ -46,14 +46,14 @@ extern int postmaster_alive_fds[2];
|
||||
|
||||
extern const char *progname;
|
||||
|
||||
extern int PostmasterMain(int argc, char *argv[]);
|
||||
extern void PostmasterMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
extern void ClosePostmasterPorts(bool am_syslogger);
|
||||
|
||||
extern int MaxLivePostmasterChildren(void);
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
extern pid_t postmaster_forkexec(int argc, char *argv[]);
|
||||
extern int SubPostmasterMain(int argc, char *argv[]);
|
||||
extern void SubPostmasterMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
|
||||
extern Size ShmemBackendArraySize(void);
|
||||
extern void ShmemBackendArrayAllocation(void);
|
||||
|
@@ -13,7 +13,7 @@
|
||||
#define _STARTUP_H
|
||||
|
||||
extern void HandleStartupProcInterrupts(void);
|
||||
extern void StartupProcessMain(void);
|
||||
extern void StartupProcessMain(void) __attribute__((noreturn));
|
||||
extern void PreRestoreCommand(void);
|
||||
extern void PostRestoreCommand(void);
|
||||
extern bool IsPromoteTriggered(void);
|
||||
|
@@ -84,7 +84,7 @@ extern int SysLogger_Start(void);
|
||||
extern void write_syslogger_file(const char *buffer, int count, int dest);
|
||||
|
||||
#ifdef EXEC_BACKEND
|
||||
extern void SysLoggerMain(int argc, char *argv[]);
|
||||
extern void SysLoggerMain(int argc, char *argv[]) __attribute__((noreturn));
|
||||
#endif
|
||||
|
||||
#endif /* _SYSLOGGER_H */
|
||||
|
@@ -15,6 +15,6 @@
|
||||
/* GUC options */
|
||||
extern int WalWriterDelay;
|
||||
|
||||
extern void WalWriterMain(void);
|
||||
extern void WalWriterMain(void) __attribute__((noreturn));
|
||||
|
||||
#endif /* _WALWRITER_H */
|
||||
|
@@ -109,7 +109,7 @@ typedef void (*walrcv_disconnect_type) (void);
|
||||
extern PGDLLIMPORT walrcv_disconnect_type walrcv_disconnect;
|
||||
|
||||
/* prototypes for functions in walreceiver.c */
|
||||
extern void WalReceiverMain(void);
|
||||
extern void WalReceiverMain(void) __attribute__((noreturn));
|
||||
|
||||
/* prototypes for functions in walreceiverfuncs.c */
|
||||
extern Size WalRcvShmemSize(void);
|
||||
|
@@ -26,7 +26,7 @@ extern volatile sig_atomic_t walsender_ready_to_stop;
|
||||
extern int max_wal_senders;
|
||||
extern int replication_timeout;
|
||||
|
||||
extern int WalSenderMain(void);
|
||||
extern void WalSenderMain(void) __attribute__((noreturn));
|
||||
extern void WalSndSignals(void);
|
||||
extern Size WalSndShmemSize(void);
|
||||
extern void WalSndShmemInit(void);
|
||||
|
@@ -64,7 +64,7 @@ typedef void (*shmem_startup_hook_type) (void);
|
||||
/* ipc.c */
|
||||
extern bool proc_exit_inprogress;
|
||||
|
||||
extern void proc_exit(int code);
|
||||
extern void proc_exit(int code) __attribute__((noreturn));
|
||||
extern void shmem_exit(int code);
|
||||
extern void on_proc_exit(pg_on_exit_callback function, Datum arg);
|
||||
extern void on_shmem_exit(pg_on_exit_callback function, Datum arg);
|
||||
|
@@ -61,7 +61,7 @@ extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
|
||||
extern void assign_max_stack_depth(int newval, void *extra);
|
||||
|
||||
extern void die(SIGNAL_ARGS);
|
||||
extern void quickdie(SIGNAL_ARGS);
|
||||
extern void quickdie(SIGNAL_ARGS) __attribute__((noreturn));
|
||||
extern void StatementCancelHandler(SIGNAL_ARGS);
|
||||
extern void FloatExceptionHandler(SIGNAL_ARGS);
|
||||
extern void RecoveryConflictInterrupt(ProcSignalReason reason); /* called from SIGUSR1
|
||||
@@ -70,7 +70,7 @@ extern void prepare_for_client_read(void);
|
||||
extern void client_read_ended(void);
|
||||
extern const char *process_postgres_switches(int argc, char *argv[],
|
||||
GucContext ctx);
|
||||
extern int PostgresMain(int argc, char *argv[], const char *username);
|
||||
extern void PostgresMain(int argc, char *argv[], const char *username) __attribute__((noreturn));
|
||||
extern long get_stack_depth_rlimit(void);
|
||||
extern void ResetUsage(void);
|
||||
extern void ShowUsage(const char *title);
|
||||
|
@@ -12,6 +12,6 @@
|
||||
#ifndef HELP_CONFIG_H
|
||||
#define HELP_CONFIG_H 1
|
||||
|
||||
extern int GucInfoMain(void);
|
||||
extern void GucInfoMain(void) __attribute__((noreturn));
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user