use Fcntl;
use strict;
+
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
use vars qw(%work @msg $msgdir %valid %busy $maxage $last_clean
@badmsg @swop $swopfn $badmsgfn $forwardfn @forward $timeout $waittime
$queueinterval $lastq $importfn $minchunk $maxchunk $bulltopriv);
$busy{$self->{tonode}} = $self;
$work{$self->{tonode}} = $self;
$self->{lastt} = $main::systime;
- $dxchan->send(DXProt::pc28($self->{tonode}, $self->{fromnode}, $self->{to}, $self->{from}, $self->{t}, $self->{private}, $self->{subject}, $self->{origin}, $self->{rrreq}));
+ my ($fromnode, $origin);
+ if ($dxchan->is_arcluster) {
+ $fromnode = $self->{origin};
+ $origin = $self->{fromnode};
+ } else {
+ $fromnode = $self->{fromnode};
+ $origin = $self->{origin};
+ }
+ $dxchan->send(DXProt::pc28($self->{tonode}, $fromnode, $self->{to}, $self->{from}, $self->{t}, $self->{private}, $self->{subject}, $origin, $self->{rrreq}));
}
# get the ref of a busy node