projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update changes
[spider.git]
/
perl
/
DXMsg.pm
diff --git
a/perl/DXMsg.pm
b/perl/DXMsg.pm
index f9ede90c4c167f9445019e243dc346d7bd565cfc..800fb5e74b26ce25ee86c1f24b20d006e4e6b31d 100644
(file)
--- a/
perl/DXMsg.pm
+++ b/
perl/DXMsg.pm
@@
-110,6
+110,7
@@
sub alloc
$self->{rrreq} = shift;
$self->{gotit} = [];
$self->{lastt} = $main::systime;
$self->{rrreq} = shift;
$self->{gotit} = [];
$self->{lastt} = $main::systime;
+ $self->{lines} = [];
return $self;
}
return $self;
}
@@
-122,7
+123,6
@@
sub workclean
delete $ref->{tonode};
delete $ref->{fromnode};
delete $ref->{stream};
delete $ref->{tonode};
delete $ref->{fromnode};
delete $ref->{stream};
- delete $ref->{lines};
delete $ref->{file};
delete $ref->{count};
delete $ref->{lastt} if exists $ref->{lastt};
delete $ref->{file};
delete $ref->{count};
delete $ref->{lastt} if exists $ref->{lastt};
@@
-238,7
+238,6
@@
sub process
$work{"$f[2]$f[3]"} = $ref; # new ref
dbg('msg', "incoming subject ack stream $f[3]\n");
$busy{$f[2]} = $ref; # interlock
$work{"$f[2]$f[3]"} = $ref; # new ref
dbg('msg', "incoming subject ack stream $f[3]\n");
$busy{$f[2]} = $ref; # interlock
- $ref->{lines} = [];
push @{$ref->{lines}}, ($ref->read_msg_body);
$ref->send_tranche($self);
$ref->{lastt} = $main::systime;
push @{$ref->{lines}}, ($ref->read_msg_body);
$ref->send_tranche($self);
$ref->{lastt} = $main::systime;
@@
-408,12
+407,7
@@
sub store
{
my $ref = shift;
my $lines = shift;
{
my $ref = shift;
my $lines = shift;
-
- # we only proceed if there are actually any lines in the file
-# if (!$lines || @{$lines} == 0) {
-# return;
-# }
-
+
if ($ref->{file}) { # a file
dbg('msg', "To be stored in $ref->{to}\n");
if ($ref->{file}) { # a file
dbg('msg', "To be stored in $ref->{to}\n");
@@
-464,7
+458,7
@@
sub del_msg
my $self = shift;
# remove it from the active message list
my $self = shift;
# remove it from the active message list
- @msg =
map { $_ != $self ? $_ : ()
} @msg;
+ @msg =
grep { ref($_) && $_ != $self
} @msg;
# belt and braces (one day I will ask someone if this is REALLY necessary)
delete $self->{gotit};
# belt and braces (one day I will ask someone if this is REALLY necessary)
delete $self->{gotit};
@@
-482,7
+476,7
@@
sub clean_old
# mark old messages for deletion
foreach $ref (@msg) {
# mark old messages for deletion
foreach $ref (@msg) {
- if (!$ref->{keep} && $ref->{t} < $main::systime - $maxage) {
+ if (
ref($ref) &&
!$ref->{keep} && $ref->{t} < $main::systime - $maxage) {
$ref->{deleteme} = 1;
delete $ref->{gotit};
delete $ref->{list};
$ref->{deleteme} = 1;
delete $ref->{gotit};
delete $ref->{list};
@@
-492,7
+486,7
@@
sub clean_old
}
# remove them all from the active message list
}
# remove them all from the active message list
- @msg =
map { $_->{deleteme} ? () : $_
} @msg;
+ @msg =
grep { ref($_) && !$_->{deleteme}
} @msg;
$last_clean = $main::systime;
}
$last_clean = $main::systime;
}