diff --git a/lib/process_shared/shared_array.rb b/lib/process_shared/shared_array.rb index 5454663..92300e1 100644 --- a/lib/process_shared/shared_array.rb +++ b/lib/process_shared/shared_array.rb @@ -21,9 +21,10 @@ module ProcessShared # See https://github.com/ffi/ffi/issues/118 ffi_type = FFI.find_type(self.type) - name, _ = FFI::TypeDefs.find do |(name, t)| - t == ffi_type - end + name = if ffi_type.inspect =~ /FFI::Type::Builtin:(\w+)*/ + # name will be something like int32 + $1.downcase + end unless name raise ArgumentError, "could not find FFI::Type for #{self.type}"