From 573fb2d2aac55ce5596a4408c01655d655fc51e1 Mon Sep 17 00:00:00 2001 From: rulingcom Date: Sat, 2 Mar 2024 16:17:22 +0800 Subject: [PATCH] Fix bug. --- lib/process_shared/posix/libc.rb | 7 ++++--- lib/process_shared/posix/semaphore.rb | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/process_shared/posix/libc.rb b/lib/process_shared/posix/libc.rb index 9f39d8e..13a7345 100644 --- a/lib/process_shared/posix/libc.rb +++ b/lib/process_shared/posix/libc.rb @@ -26,9 +26,10 @@ module ProcessShared # # Fallback to attempting to load from same directory as this file. helper = 'process_shared/posix/helper.' + suffix - fallback_path = File.expand_path(File.dirname(__FILE__)) - path = $LOAD_PATH.find(fallback_path) do |path| - File.exist?(File.join(path, helper)) + gem_spec = Gem::Specification.find_all.find{|g| g.name == 'process_shared'} + path = gem_spec.extensions_dir + unless path.end_with?(gem_spec.full_name) + path = File.join(path, gem_spec.full_name) end if defined?(Truffle) diff --git a/lib/process_shared/posix/semaphore.rb b/lib/process_shared/posix/semaphore.rb index d1fe59e..1f3c4e0 100644 --- a/lib/process_shared/posix/semaphore.rb +++ b/lib/process_shared/posix/semaphore.rb @@ -47,7 +47,7 @@ module ProcessShared # # @return [Proc] a finalizer def self.make_finalizer(sem) - proc { LibC.shm_unlink(sem) } + proc { SharedMemory::Foreign.shm_unlink(sem) } end # Create a new semaphore with initial value +value+. After