view lua/luadyncall/test/test_smartptr.lua @ 42:1e3d929e43be

- godc updated to dc 1.1 and added note about missing feature
author Tassilo Philipp
date Tue, 14 Apr 2020 18:30:17 +0200
parents 0cfcc391201f
children
line wrap: on
line source

require "smartptr"

-- test tolightuserdata

x = smartptr.tolightuserdata(0xCAFEbabe)
print(x)

-- test newsmartptr and finalizer

function finalizer(x)
  print("finalizer:"..tostring(x) )
end

y = smartptr.new(x, finalizer)
print("dump smartptr : ".. tostring(y) )
print("dump address  : " .. tostring(y()))
y = nil -- should print FINALIZER
collectgarbage("collect")
-- test setfinalizer

y = smartptr.new( smartptr.tolightuserdata(0xdeadc0de), finalizer)
print("smartptr : ".. tostring(y) )
print("address  : " .. tostring(y()))
function newfinalizer(x)
  print("newfinalizer:"..tostring(x))
end
smartptr.setfinalizer(y, newfinalizer)
y = nil