1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-25 12:03:53 +03:00

Avoid type cheats for invalid dsa_handles and dshash_table_handles.

Invent separate macros for "invalid" values of these types, so that
we needn't embed knowledge of their representations into calling code.
These are all zeroes anyway ATM, so this is not fixing any live bug,
but it makes the code cleaner and more future-proof.

I (tgl) also chose to move DSM_HANDLE_INVALID into dsm_impl.h,
since it seems like it should live beside the typedef for dsm_handle.

Hou Zhijie, Nathan Bossart, Kyotaro Horiguchi, Tom Lane

Discussion: https://postgr.es/m/OS0PR01MB5716860B1454C34E5B179B6694C99@OS0PR01MB5716.jpnprd01.prod.outlook.com
This commit is contained in:
Tom Lane
2023-01-25 11:48:38 -05:00
parent d7c4830abb
commit 3b4ac33254
7 changed files with 18 additions and 12 deletions

View File

@@ -54,6 +54,9 @@ extern PGDLLIMPORT int min_dynamic_shared_memory;
/* A "name" for a dynamic shared memory segment. */
typedef uint32 dsm_handle;
/* Sentinel value to use for invalid DSM handles. */
#define DSM_HANDLE_INVALID ((dsm_handle) 0)
/* All the shared-memory operations we know about. */
typedef enum
{