Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

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

Report information
The Basics
Id: 11833
Status: resolved
Priority: 0/
Queue: Net-XMPP

People
Owner: reatmon [...] mail.com
Requestors: bianchi [...] vermontel.net
Cc:
AdminCc:

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



Subject: XMPP Execute doesn't reconnect
Net-XMPP-1.0 Summary of my perl5 (revision 5.0 version 8 subversion 0) Linux 2.4.20-8 It appears that there is a bug in the logic of XMPP::Connection->Execute() at line 329 denoted by "--->>>>>" below. This line exits the loop instead of trying to reconnect when the connection is lost. while($self->Connected()) { while(defined($status = $self->Process($args{processtimeout}))) { &{$self->{CB}->{onprocess}}() if exists($self->{CB}->{onprocess}); } if (!defined($status)) { $self->Disconnect(); $self->{DEBUG}->Log1("Execute: Connection to server lost..."); &{$self->{CB}->{ondisconnect}}() if exists($self->{CB}->{ondisconnect}); $connectAttempt = $args{connectattempts}; next; } } --->>>>> last if $self->{DISCONNECTED};
[guest - Thu Mar 10 12:23:52 2005]: additionally, it appears that there isn't anyway to reset the PROCESSERROR other then directly accessing it like this, so even if you remove the last line above to allow Execute to try to reconnect, you also have to reset PROCESSERROR in your ondisconnect CB. if (exists($Connection->{PROCESSERROR})) { $Connection->{PROCESSERROR} = 0; # reset incase of } Show quoted text
> Net-XMPP-1.0 > Summary of my perl5 (revision 5.0 version 8 subversion 0) > Linux 2.4.20-8 > > It appears that there is a bug in the logic of XMPP::Connection-
> >Execute() at line 329 denoted by "--->>>>>" below. This line exits
> the loop instead of trying to reconnect when the connection is lost. > > > while($self->Connected()) > { > > while(defined($status = $self-
> >Process($args{processtimeout})))
> { > &{$self->{CB}->{onprocess}}() > if exists($self->{CB}->{onprocess}); > } > > if (!defined($status)) > { > $self->Disconnect(); > $self->{DEBUG}->Log1("Execute: Connection to server > lost..."); > &{$self->{CB}->{ondisconnect}}() > if exists($self->{CB}->{ondisconnect}); > > $connectAttempt = $args{connectattempts}; > next; > } > } > > --->>>>> last if $self->{DISCONNECTED}; >