projects
/
spider.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
974132f
)
add some debugging a fiddle with DXmsg
author
minima
<minima>
Wed, 29 Nov 2000 23:16:30 +0000
(23:16 +0000)
committer
minima
<minima>
Wed, 29 Nov 2000 23:16:30 +0000
(23:16 +0000)
Changes
patch
|
blob
|
history
perl/DXMsg.pm
patch
|
blob
|
history
diff --git
a/Changes
b/Changes
index 1037946f798ea20721eeb755bb216e3c8ec14068..1f55854e1a95769f0dfde32eee71b7dc96cce321 100644
(file)
--- a/
Changes
+++ b/
Changes
@@
-1,3
+1,5
@@
+29Nov00=======================================================================
+1. make some small changes to DXmsg to try to track delete problems?
27Nov00=======================================================================
1. alter sh/wcy output slightly
26Nov00=======================================================================
27Nov00=======================================================================
1. alter sh/wcy output slightly
26Nov00=======================================================================
diff --git
a/perl/DXMsg.pm
b/perl/DXMsg.pm
index dce9c04f28f0b8df2b902ece0ba6c12d145968a9..501d137d1454ba49bdc971312cffbfd39c1bc0c8 100644
(file)
--- a/
perl/DXMsg.pm
+++ b/
perl/DXMsg.pm
@@
-82,13
+82,6
@@
$importfn = "$msgdir/import"; # import directory
waitt => '5,Wait until,cldatetime',
);
waitt => '5,Wait until,cldatetime',
);
-sub DESTROY
-{
- my $self = shift;
- undef $self->{lines};
- undef $self->{gotit};
-}
-
# allocate a new object
# called fromnode, tonode, from, to, datetime, private?, subject, nolinesper
sub alloc
# allocate a new object
# called fromnode, tonode, from, to, datetime, private?, subject, nolinesper
sub alloc
@@
-459,15
+452,13
@@
sub del_msg
my $self = shift;
# remove it from the active message list
my $self = shift;
# remove it from the active message list
- @msg = grep { ref($_) && $_ != $self } @msg;
-
- # belt and braces (one day I will ask someone if this is REALLY necessary)
- delete $self->{gotit};
- delete $self->{list};
+ dbg('msg', "\@msg = " . scalar @msg . " before delete");
+ @msg = grep { $_ != $self } @msg;
# remove the file
unlink filename($self->{msgno});
dbg('msg', "deleting $self->{msgno}\n");
# remove the file
unlink filename($self->{msgno});
dbg('msg', "deleting $self->{msgno}\n");
+ dbg('msg', "\@msg = " . scalar @msg . " after delete");
}
# clean out old messages from the message queue
}
# clean out old messages from the message queue
@@
-476,18
+467,18
@@
sub clean_old
my $ref;
# mark old messages for deletion
my $ref;
# mark old messages for deletion
+ dbg('msg', "\@msg = " . scalar @msg . " before delete");
foreach $ref (@msg) {
if (ref($ref) && !$ref->{keep} && $ref->{t} < $main::systime - $maxage) {
$ref->{deleteme} = 1;
foreach $ref (@msg) {
if (ref($ref) && !$ref->{keep} && $ref->{t} < $main::systime - $maxage) {
$ref->{deleteme} = 1;
- delete $ref->{gotit};
- delete $ref->{list};
unlink filename($ref->{msgno});
dbg('msg', "deleting old $ref->{msgno}\n");
}
}
# remove them all from the active message list
unlink filename($ref->{msgno});
dbg('msg', "deleting old $ref->{msgno}\n");
}
}
# remove them all from the active message list
- @msg = grep { ref($_) && !$_->{deleteme} } @msg;
+ @msg = grep { !$_->{deleteme} } @msg;
+ dbg('msg', "\@msg = " . scalar @msg . " after delete");
$last_clean = $main::systime;
}
$last_clean = $main::systime;
}
@@
-635,12
+626,14
@@
sub queue_msg
# then start sending it - what happens when we get loops is anyone's
# guess, use (to, from, time, subject) tuple?
foreach $dxchan (@nodelist) {
# then start sending it - what happens when we get loops is anyone's
# guess, use (to, from, time, subject) tuple?
foreach $dxchan (@nodelist) {
- next if $dxchan->call eq $main::mycall;
- next if ref $ref->{gotit} && grep $_ eq $dxchan->call, @{$ref->{gotit}};
- next unless $ref->forward_it($dxchan->call); # check the forwarding file
+ my $call = $dxchan->call;
+ next unless $call;
+ next if $call eq $main::mycall;
+ next if ref $ref->{gotit} && grep $_ eq $call, @{$ref->{gotit}};
+ next unless $ref->forward_it($call); # check the forwarding file
# if we are here we have a node that doesn't have this message
# if we are here we have a node that doesn't have this message
- $ref->start_msg($dxchan) if !get_busy($
dxchan->
call) && $dxchan->state eq 'normal';
+ $ref->start_msg($dxchan) if !get_busy($call) && $dxchan->state eq 'normal';
last;
}
last;
}