PostgreSQL Source Code: src/test/modules/test_shm_mq/test_shm_mq.h Source File

PostgreSQL Source Code git master
test_shm_mq.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------
2 *
3 * test_shm_mq.h
4 * Definitions for shared memory message queues
5 *
6 * Copyright (c) 2013-2025, PostgreSQL Global Development Group
7 *
8 * IDENTIFICATION
9 * src/test/modules/test_shm_mq/test_shm_mq.h
10 *
11 * -------------------------------------------------------------------------
12 */
13
14#ifndef TEST_SHM_MQ_H
15#define TEST_SHM_MQ_H
16
17#include "storage/dsm.h"
18#include "storage/shm_mq.h"
19#include "storage/spin.h"
20
21/* Identifier for shared memory segments used by this extension. */
22 #define PG_TEST_SHM_MQ_MAGIC 0x79fb2447
23
24/*
25 * This structure is stored in the dynamic shared memory segment. We use
26 * it to determine whether all workers started up OK and successfully
27 * attached to their respective shared message queues.
28 */
29 typedef struct
30{
31 slock_t mutex;
32 int workers_total;
33 int workers_attached;
34 int workers_ready;
35} test_shm_mq_header;
36
37/* Set up dynamic shared memory and background workers for test run. */
38extern void test_shm_mq_setup(int64 queue_size, int32 nworkers,
39 dsm_segment **segp, shm_mq_handle **output,
40 shm_mq_handle **input);
41
42/* Main entrypoint for a worker. */
43pg_noreturn extern PGDLLEXPORT void test_shm_mq_main(Datum);
44
45#endif
#define pg_noreturn
Definition: c.h:164
int64_t int64
Definition: c.h:535
#define PGDLLEXPORT
Definition: c.h:1334
int32_t int32
Definition: c.h:534
FILE * input
FILE * output
uint64_t Datum
Definition: postgres.h:70
Definition: dsm.c:67
pg_noreturn PGDLLEXPORT void test_shm_mq_main(Datum)
Definition: worker.c:47
void test_shm_mq_setup(int64 queue_size, int32 nworkers, dsm_segment **segp, shm_mq_handle **output, shm_mq_handle **input)
Definition: setup.c:50

AltStyle によって変換されたページ (->オリジナル) /