diff options
| author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-25 00:11:29 +0000 |
|---|---|---|
| committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-10-25 00:11:29 +0000 |
| commit | adc30d563b2c211261357376a48f26293212befc (patch) | |
| tree | a9595fe6abb08abea2b18143557068089e9b0433 | |
| parent | a6954947faf3ba505ed8169c9b7cdd7e27cd13ab (diff) | |
| download | ruby-adc30d563b2c211261357376a48f26293212befc.tar.gz ruby-adc30d563b2c211261357376a48f26293212befc.tar.xz ruby-adc30d563b2c211261357376a48f26293212befc.zip | |
* ext/dl/handle.c (**) adding documentation
* test/dl/test_handle.rb (**) testing to_i and initialize
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ext/dl/handle.c | 12 | ||||
| -rw-r--r-- | test/dl/test_handle.rb | 15 |
2 files changed, 27 insertions, 0 deletions
diff --git a/ext/dl/handle.c b/ext/dl/handle.c index 0b78565ce..6c2ef37b3 100644 --- a/ext/dl/handle.c +++ b/ext/dl/handle.c @@ -100,6 +100,13 @@ predefined_dlhandle(void *handle) return obj; } +/* + * call-seq: + * initialize(lib = nil, flags = DL::RTLD_LAZY | DL::RTLD_GLOBAL) + * + * Create a new handler that opens library named +lib+ with +flags+. If no + * library is specified, RTLD_DEFAULT is used. + */ VALUE rb_dlhandle_initialize(int argc, VALUE argv[], VALUE self) { @@ -194,6 +201,11 @@ rb_dlhandle_disable_close(VALUE self) return Qnil; } +/* + * call-seq: to_i + * + * Returns the memory address for this handle. + */ VALUE rb_dlhandle_to_i(VALUE self) { diff --git a/test/dl/test_handle.rb b/test/dl/test_handle.rb index ab9c1c13a..a8dcf1952 100644 --- a/test/dl/test_handle.rb +++ b/test/dl/test_handle.rb @@ -2,6 +2,11 @@ require 'test_base' module DL class TestHandle < TestBase + def test_to_i + handle = DL::Handle.new(LIBC_SO) + assert handle.to_i + end + def test_static_sym_secure assert_raises(SecurityError) do Thread.new do @@ -90,5 +95,15 @@ module DL end.join end end + + def test_initialize_noargs + handle = DL::Handle.new + assert handle['rb_str_new'] + end + + def test_initialize_flags + handle = DL::Handle.new(LIBC_SO, DL::RTLD_LAZY | DL::RTLD_GLOBAL) + assert handle['calloc'] + end end end |
