mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	This includes removing tabs after periods in C comments, which was applied to back branches, so this change should not effect backpatching.
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*--------------------------------------------------------------------------
 | 
						|
 *
 | 
						|
 * test_shm_mq.h
 | 
						|
 *		Definitions for shared memory message queues
 | 
						|
 *
 | 
						|
 * Copyright (C) 2013, PostgreSQL Global Development Group
 | 
						|
 *
 | 
						|
 * IDENTIFICATION
 | 
						|
 *		contrib/test_shm_mq/test_shm_mq.h
 | 
						|
 *
 | 
						|
 * -------------------------------------------------------------------------
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef TEST_SHM_MQ_H
 | 
						|
#define TEST_SHM_MQ_H
 | 
						|
 | 
						|
#include "storage/dsm.h"
 | 
						|
#include "storage/shm_mq.h"
 | 
						|
#include "storage/spin.h"
 | 
						|
 | 
						|
/* Identifier for shared memory segments used by this extension. */
 | 
						|
#define		PG_TEST_SHM_MQ_MAGIC		0x79fb2447
 | 
						|
 | 
						|
/*
 | 
						|
 * This structure is stored in the dynamic shared memory segment.  We use
 | 
						|
 * it to determine whether all workers started up OK and successfully
 | 
						|
 * attached to their respective shared message queues.
 | 
						|
 */
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
	slock_t		mutex;
 | 
						|
	int			workers_total;
 | 
						|
	int			workers_attached;
 | 
						|
	int			workers_ready;
 | 
						|
} test_shm_mq_header;
 | 
						|
 | 
						|
/* Set up dynamic shared memory and background workers for test run. */
 | 
						|
extern void test_shm_mq_setup(int64 queue_size, int32 nworkers,
 | 
						|
				  dsm_segment **seg, shm_mq_handle **output,
 | 
						|
				  shm_mq_handle **input);
 | 
						|
 | 
						|
/* Main entrypoint for a worker. */
 | 
						|
extern void test_shm_mq_main(Datum);
 | 
						|
 | 
						|
#endif
 |