Skip Menu |

This queue is for tickets about the Net-DBus CPAN distribution.

Report information
The Basics
Id: 38046
Status: new
Priority: 0/
Queue: Net-DBus

People
Owner: Nobody in particular
Requestors: WHOPPIX [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.33.6
Fixed in: (no value)



Subject: Net::DBus::ASyncReply
There seems to be a bug in Net::DBus::ASyncReply, which makes it impossible to make nonblocking dbus requests. Namely, is_ready() always seem to return false, no matter what. $asyncreply->wait_for_result() however seems to work as expected. I basically re-created your example, almost exactly as it is, inserting real values. Tested on two machines: Archlinux, 2.6.25-ARCH perl version v5.10.0 built for i686-linux-thread-multi Net::DBus version: 0.33.6 ubuntu 8.04, 2.6.24-19-generic perl version v5.8.8 built for i486-linux-gnu-thread-multi Net::DBus version: 0.33.5 In the attached example, i'm trying to talk to pidgin, which should return an integer as response. this works just fine using the blocking calls, however, i couldn't get the nonblocking ones to work.
Subject: dbus.pl
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Net::DBus; use Net::DBus::Annotation qw(:call); my $bus = Net::DBus->find(); my $service = $bus->get_service("im.pidgin.purple.PurpleService"); my $purple_object = $service->get_object("/im/pidgin/purple/PurpleObject"); my $async = $purple_object->PurpleSavedstatusGetCurrent(dbus_call_async); while (!$async->is_ready()) { print "nei\n"; sleep 1; } print "hei\n";