summaryrefslogtreecommitdiff
path: root/ext/fiddle/lib/fiddle.rb
blob: bc4017eee0a59c816758934a8d4118babd56147e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require 'fiddle.so'
require 'fiddle/function'
require 'fiddle/closure'
require 'dl'

module Fiddle
  Pointer = DL::CPtr

  if WINDOWS
    def self.win32_last_error
      Thread.current[:__FIDDLE_WIN32_LAST_ERROR__]
    end

    def self.win32_last_error= error
      Thread.current[:__FIDDLE_WIN32_LAST_ERROR__] = error
    end
  end

  def self.last_error
    Thread.current[:__FIDDLE_LAST_ERROR__]
  end

  def self.last_error= error
    Thread.current[:__DL2_LAST_ERROR__] = error
    Thread.current[:__FIDDLE_LAST_ERROR__] = error
  end
end