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 55834fc3a6edf0a408c6091df4fe7e0caffcef0e..800fb5e74b26ce25ee86c1f24b20d006e4e6b31d 100644
(file)
--- a/
perl/DXMsg.pm
+++ b/
perl/DXMsg.pm
@@
-458,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};
@@
-476,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};
@@
-486,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;
}