PostgreSQL Source Code: src/include/storage/ipc.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef IPC_H
19#define IPC_H
20
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47#define PG_ENSURE_ERROR_CLEANUP(cleanup_function, arg) \
48 do { \
49 before_shmem_exit(cleanup_function, arg); \
50 PG_TRY()
51
52#define PG_END_ENSURE_ERROR_CLEANUP(cleanup_function, arg) \
53 cancel_before_shmem_exit(cleanup_function, arg); \
54 PG_CATCH(); \
55 { \
56 cancel_before_shmem_exit(cleanup_function, arg); \
57 cleanup_function (0, arg); \
58 PG_RE_THROW(); \
59 } \
60 PG_END_TRY(); \
61 } while (0)
62
63
64
67
76
77
79
82#ifdef EXEC_BACKEND
83extern void AttachSharedMemoryStructs(void);
84#endif
86
87#endif
void check_on_shmem_exit_lists_are_empty(void)
PGDLLIMPORT bool shmem_exit_inprogress
void on_shmem_exit(pg_on_exit_callback function, Datum arg)
void on_proc_exit(pg_on_exit_callback function, Datum arg)
void cancel_before_shmem_exit(pg_on_exit_callback function, Datum arg)
pg_noreturn void proc_exit(int code)
void(* shmem_startup_hook_type)(void)
void(* pg_on_exit_callback)(int code, Datum arg)
void shmem_exit(int code)
PGDLLIMPORT shmem_startup_hook_type shmem_startup_hook
void before_shmem_exit(pg_on_exit_callback function, Datum arg)
Size CalculateShmemSize(int *num_semaphores)
void InitializeShmemGUCs(void)
void CreateSharedMemoryAndSemaphores(void)
PGDLLIMPORT bool proc_exit_inprogress
on_exit_nicely_callback function