[libvirt] ruby-libvirt issue
Pawel Krzesniak
pawel.krzesniak at gmail.com
Sun Nov 21 22:25:09 UTC 2010
On 29.07.2010 20:32, Chris Lalancette wrote:
> Ah, OK. So then the question becomes whether the problem is in the ruby
> bindings not releasing the object in certain circumstances, or in rails
> holding onto the object too long. Unfortunately I'm not really that familiar
> with rails or passenger, so I'm not entirely sure how to figure out where the
> problem is.
>
> I'll see if I can do a bit of testing and look at object lifetimes from the
> point-of-view of ruby-libvirt to try and eliminate that from the equation.
following testcase confirms that problem is in bindings itself:
ree-1.8.7-2010.02 > require 'libvirt'
=> true
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c
libvirt-sock`
0
=> nil
ree-1.8.7-2010.02 > c = Libvirt::open 'qemu:///system'
=> #<Libvirt::Connect:0x265b718>
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c
libvirt-sock`
1
=> nil
ree-1.8.7-2010.02 > d = c.lookup_domain_by_name 'abc'
=> #<Libvirt::Domain:0x2705128>
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c
libvirt-sock`
1
=> nil
ree-1.8.7-2010.02 > c.close
=> nil
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c
libvirt-sock`
1
=> nil
ree-1.8.7-2010.02 > c.closed?
=> true
ree-1.8.7-2010.02 > d.connection.closed?
=> true
ree-1.8.7-2010.02 > d.create
ArgumentError: Connection has been closed
from (irb):28:in `create'
from (irb):28
from :0
ree-1.8.7-2010.02 > d=nil
=> nil
ree-1.8.7-2010.02 > c=nil
=> nil
ree-1.8.7-2010.02 > GC.start
=> nil
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c
libvirt-sock`
1
=> nil
Tested with MRI 1.8.7-p302 and ree-1.8.7-2010.02.
My question is how to close connection to libvirtd?
regards,
--
Pawel
More information about the libvir-list
mailing list