[poe-commits] poe/lib/POE/Resource Sessions.pm,1.17,1.18
Brought to you by:
rcaputo
From: <rc...@us...> - 2004-07-16 01:10:24
|
Update of /cvsroot/poe/poe/lib/POE/Resource In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3970/lib/POE/Resource Modified Files: Sessions.pm Log Message: Moved more assertions before their corresponding traces. This continues to push the errors out to the user, rather than causing strange side errors within POE::Kernel. Index: Sessions.pm =================================================================== RCS file: /cvsroot/poe/poe/lib/POE/Resource/Sessions.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** Sessions.pm 15 Jul 2004 21:20:45 -0000 1.17 --- Sessions.pm 16 Jul 2004 01:10:16 -0000 1.18 *************** *** 68,71 **** --- 68,78 ---- my ($self, $session, $sid, $parent) = @_; + if (ASSERT_DATA and defined($parent)) { + _trap "parent $parent does not exist" + unless exists $kr_sessions{$parent}; + _trap "session $session is already allocated" + if exists $kr_sessions{$session}; + } + $kr_sessions{$session} = [ $session, # SS_SESSION *************** *** 82,91 **** # Manage parent/child relationship. if (defined $parent) { - if (ASSERT_DATA) { - unless (exists $kr_sessions{$parent}) { - _trap "parent $parent does not exist"; - } - } - if (TRACE_SESSIONS) { _warn( --- 89,92 ---- *************** *** 126,132 **** if (defined $parent) { if (ASSERT_DATA) { ! if ($parent == $session) { ! _trap "session is its own parent"; ! } unless ($self->_data_ses_is_child($parent, $session)) { _trap( --- 127,135 ---- if (defined $parent) { if (ASSERT_DATA) { ! _trap "session is its own parent" ! if $parent == $session; ! _trap "session's parent ($parent) doesn't exist" ! unless exists $kr_sessions{$parent}; ! unless ($self->_data_ses_is_child($parent, $session)) { _trap( *************** *** 137,143 **** ); } - unless (exists $kr_sessions{$parent}) { - _trap "internal inconsistency ($parent)"; - } } --- 140,143 ---- *************** *** 146,149 **** --- 146,150 ---- _trap "internal inconsistency ($parent/$session)" unless delete $kr_sessions{$parent}->[SS_CHILDREN]->{$session}; + undef $kr_sessions{$session}->[SS_PARENT]; *************** *** 190,193 **** --- 191,201 ---- my ($self, $session, $new_parent) = @_; + if (ASSERT_DATA) { + _trap("moving nonexistent child to another parent") + unless exists $kr_sessions{$session}; + _trap("moving child to a nonexistent parent") + unless exists $kr_sessions{$new_parent}; + } + if (TRACE_SESSIONS) { _warn( *************** *** 198,208 **** } - if (ASSERT_DATA) { - _trap("moving nonexistent child to another parent") - unless exists $kr_sessions{$session}; - _trap("moving child to a nonexistent parent") - unless exists $kr_sessions{$new_parent}; - } - my $old_parent = $self->_data_ses_get_parent($session); --- 206,209 ---- |