diff options
| author | Heikki Linnakangas | 2024-03-18 09:38:10 +0000 |
|---|---|---|
| committer | Heikki Linnakangas | 2024-03-18 09:38:10 +0000 |
| commit | 05c3980e7f473ac2061dad9bbb7a9f0ede0279d9 (patch) | |
| tree | ea797723055570851fa55f309e50d39345f72095 /src/include/tcop | |
| parent | aafc05de1bf5c0324cb5e690c6742118c1ac4af6 (diff) | |
Move code for backend startup to separate file
This is code that runs in the backend process after forking, rather
than postmaster. Move it out of postmaster.c for clarity.
Reviewed-by: Tristan Partin, Andres Freund
Discussion: https://www.postgresql.org/message-id/7a59b073-5b5b-151e-7ed3-8b01ff7ce9ef@iki.fi
Diffstat (limited to 'src/include/tcop')
| -rw-r--r-- | src/include/tcop/backend_startup.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/include/tcop/backend_startup.h b/src/include/tcop/backend_startup.h new file mode 100644 index 00000000000..d29eaed1e97 --- /dev/null +++ b/src/include/tcop/backend_startup.h @@ -0,0 +1,41 @@ +/*------------------------------------------------------------------------- + * + * backend_startup.h + * prototypes for backend_startup.c. + * + * + * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/tcop/backend_startup.h + * + *------------------------------------------------------------------------- + */ +#ifndef BACKEND_STARTUP_H +#define BACKEND_STARTUP_H + +/* + * CAC_state is passed from postmaster to the backend process, to indicate + * whether the connection should be accepted, or if the process should just + * send an error to the client and close the connection. Note that the + * connection can fail for various reasons even if postmaster passed CAC_OK. + */ +typedef enum CAC_state +{ + CAC_OK, + CAC_STARTUP, + CAC_SHUTDOWN, + CAC_RECOVERY, + CAC_NOTCONSISTENT, + CAC_TOOMANY, +} CAC_state; + +/* Information passed from postmaster to backend process in 'startup_data' */ +typedef struct BackendStartupData +{ + CAC_state canAcceptConnections; +} BackendStartupData; + +extern void BackendMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); + +#endif /* BACKEND_STARTUP_H */ |
