Module: Khiva::FFI
- Extended by:
- Fiddle::Importer
- Defined in:
- lib/khiva/ffi.rb
Class Method Summary collapse
- .call(method, *args) ⇒ Object
-
.error_code ⇒ Object
thread-safe.
-
.error_message ⇒ Object
thread-safe.
Class Method Details
.call(method, *args) ⇒ Object
198 199 200 201 202 203 |
# File 'lib/khiva/ffi.rb', line 198 def call(method, *args) FFI.send(method, *args, error_code, ) if error_code.to_s(error_code.size).unpack1("i*") != 0 raise Error, .to_s end end |
.error_code ⇒ Object
thread-safe
189 190 191 |
# File 'lib/khiva/ffi.rb', line 189 def error_code Thread.current[:khiva_error_code] ||= Fiddle::Pointer.malloc(Fiddle::SIZEOF_INT) end |
.error_message ⇒ Object
thread-safe
194 195 196 |
# File 'lib/khiva/ffi.rb', line 194 def Thread.current[:khiva_error_message] ||= Fiddle::Pointer.malloc(256) end |