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 */
29typedef struct
30{
31 slock_t mutex;
36
37/* Set up dynamic shared memory and background workers for test run. */
38extern void test_shm_mq_setup(int64 queue_size, int32 nworkers,
41
42/* Main entrypoint for a worker. */
44
45#endif
int64_t int64
Definition: c.h:485
#define pg_attribute_noreturn()
Definition: c.h:239
#define PGDLLEXPORT
Definition: c.h:1292
int32_t int32
Definition: c.h:484
FILE * input
FILE * output
uintptr_t Datum
Definition: postgres.h:69
PGDLLEXPORT void test_shm_mq_main(Datum) pg_attribute_noreturn()
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