From 18a9d5c146f6587e47dd0585d0d20dc0591629fe Mon Sep 17 00:00:00 2001 From: Chris Bandy Date: Thu, 3 Sep 2026 13:58:05 +0000 Subject: [PATCH] Use path-lookup of pgrx modules in shmem macros This lets the caller use `pg_shmem_init` without `pg_guard` or `pg_sys` in scope. error: cannot find attribute `pg_guard` in this scope Fixes: pgcentralfoundation/pgrx#2370 --- pgrx/src/shmem.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pgrx/src/shmem.rs b/pgrx/src/shmem.rs index 16ad251fa..829512544 100644 --- a/pgrx/src/shmem.rs +++ b/pgrx/src/shmem.rs @@ -64,10 +64,10 @@ macro_rules! pg_shmem_init { ))] unsafe { static mut PREV_SHMEM_REQUEST_HOOK: Option = None; - PREV_SHMEM_REQUEST_HOOK = pg_sys::shmem_request_hook; - pg_sys::shmem_request_hook = Some(on_shmem_request); + PREV_SHMEM_REQUEST_HOOK = $crate::pg_sys::shmem_request_hook; + $crate::pg_sys::shmem_request_hook = Some(on_shmem_request); - #[pg_guard] + #[$crate::pg_guard] unsafe extern "C-unwind" fn on_shmem_request() { unsafe { if let Some(i) = PREV_SHMEM_REQUEST_HOOK { @@ -82,10 +82,10 @@ macro_rules! pg_shmem_init { unsafe { static mut PREV_SHMEM_STARTUP_HOOK: Option = None; - PREV_SHMEM_STARTUP_HOOK = pg_sys::shmem_startup_hook; - pg_sys::shmem_startup_hook = Some(on_shmem_startup); + PREV_SHMEM_STARTUP_HOOK = $crate::pg_sys::shmem_startup_hook; + $crate::pg_sys::shmem_startup_hook = Some(on_shmem_startup); - #[pg_guard] + #[$crate::pg_guard] #[forbid(unsafe_op_in_unsafe_fn)] unsafe extern "C-unwind" fn on_shmem_startup() { unsafe {