mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/win32ole/win32ole.c: add WIN32OLE.ole_initialize,
WIN32OLE.ole_uninitialize to use in win32ole.rb. You must not use thease methods. * ext/win32ole/lib/win32ole.rb: add win32ole.rb re-define Thread#initialize (fix ruby-core:27634) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
0f29696f9d
commit
4b18062808
3 changed files with 74 additions and 1 deletions
22
ext/win32ole/lib/win32ole.rb
Normal file
22
ext/win32ole/lib/win32ole.rb
Normal file
|
@ -0,0 +1,22 @@
|
|||
require 'win32ole.so'
|
||||
|
||||
# re-define Thread#initialize
|
||||
# bug #2618(ruby-core:27634)
|
||||
|
||||
class Thread
|
||||
alias :org_initialize :initialize
|
||||
def initialize(*arg, &block)
|
||||
if block
|
||||
org_initialize(*arg) {
|
||||
WIN32OLE.ole_initialize
|
||||
begin
|
||||
block.call(*arg)
|
||||
ensure
|
||||
WIN32OLE.ole_uninitialize
|
||||
end
|
||||
}
|
||||
else
|
||||
org_initialize(*arg)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue