Definition at line 49 of file worker.c.
50{
58
59
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
80 errmsg(
"unable to map dynamic shared memory segment")));
85 errmsg(
"bad magic number in dynamic shared memory segment")));
86
87
88
89
90
91
92
93
94
102 errmsg(
"too many message queue testing workers already")));
103
104
105
106
108
109
110
111
112
113
114
115
116
117
123 {
124 elog(
DEBUG1,
"registrant backend has exited prematurely");
126 }
128
129
131
132
133
134
135
138}
void BackgroundWorkerUnblockSignals(void)
void dsm_detach(dsm_segment *seg)
void * dsm_segment_address(dsm_segment *seg)
dsm_segment * dsm_attach(dsm_handle h)
int errcode(int sqlerrcode)
#define ereport(elevel,...)
void SetLatch(Latch *latch)
static uint32 DatumGetUInt32(Datum X)
BackgroundWorker * MyBgworkerEntry
PGPROC * BackendPidGetProc(int pid)
void * shm_toc_lookup(shm_toc *toc, uint64 key, bool noError)
shm_toc * shm_toc_attach(uint64 magic, void *address)
static void SpinLockRelease(volatile slock_t *lock)
static void SpinLockAcquire(volatile slock_t *lock)
static void attach_to_queues(dsm_segment *seg, shm_toc *toc, int myworkernumber, shm_mq_handle **inqhp, shm_mq_handle **outqhp)
static void copy_messages(shm_mq_handle *inqh, shm_mq_handle *outqh)
#define PG_TEST_SHM_MQ_MAGIC
References attach_to_queues(), BackendPidGetProc(), BackgroundWorkerUnblockSignals(), BackgroundWorker::bgw_notify_pid, copy_messages(), DatumGetUInt32(), DEBUG1, dsm_attach(), dsm_detach(), dsm_segment_address(), elog, ereport, errcode(), errmsg, ERROR, fb(), test_shm_mq_header::mutex, MyBgworkerEntry, PG_TEST_SHM_MQ_MAGIC, proc_exit(), SetLatch(), shm_toc_attach(), shm_toc_lookup(), SpinLockAcquire(), SpinLockRelease(), test_shm_mq_header::workers_attached, test_shm_mq_header::workers_ready, and test_shm_mq_header::workers_total.