Reproducing this error should be fairly simple since it doesn't require any upnp device at all:
1- shut off every upnp device
2- run this short snippet:
#!/usr/bin/ruby
require 'upnp/ssdp'
require 'upnp/control_point'
EM.run do
cp = UPnP::ControlPoint.new("upnp:rootdevice")
cp.start do |new_device_channel, old_device_channel|
end
end
4- run the snippet again with standard ouput piped to less; the following error occurs:
/var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:859:in `open_udp_socket': no datagram socket (RuntimeError)
from /var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:859:in `open_datagram_socket'
from /home/pini/Sonos/upnp/lib/upnp/ssdp.rb:52:in `block in listen'
from /home/pini/Sonos/upnp/lib/upnp/ssdp.rb:59:in `call'
from /home/pini/Sonos/upnp/lib/upnp/ssdp.rb:59:in `listen'
from /home/pini/Sonos/upnp/lib/upnp/control_point.rb:86:in `block in listen'
from /var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:1037:in `call'
from /var/lib/gems/1.9.1/gems/eventmachine-1.0.0/lib/eventmachine.rb:1037:in `block in spawn_threadpool'
Hi,
Reproducing this error should be fairly simple since it doesn't require any upnp device at all: 1- shut off every upnp device 2- run this short snippet:
3- this output should resemble this:
4- run the snippet again with standard ouput piped to less; the following error occurs:
while standard output shows:
Notice the last DEBUG line which reports one connection. It isn't present in the previous trace when stdout isn't redirected.
What do you think?
Thanks,
_g.