Project

General

Profile

Bug #2789 ยป dl_18_callback_mingw32.rb

Script to reproduce segfault on mingw32 - Ethan (Ethan -), 02/25/2010 02:19 AM

 
require 'dl'
user32=DL.dlopen("user32")

enum_windows_callback= DL.callback('ILL') do |hwnd,lparam|
puts "hwnd is #{hwnd}"
0 # return 0 to break the enumeration early
end
begin
puts "calling enumwindows ..."
ret, args=user32['EnumWindows', 'IPL'].call(enum_windows_callback, 0)
puts "called enumwindows."
ensure
puts "removing callback ..."
DL.remove_callback(enum_windows_callback)
puts "removed callback"
end
    (1-1/1)