ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/cfperl.xs
(Generate patch)

Comparing deliantra/server/server/cfperl.xs (file contents):
Revision 1.163 by root, Thu Feb 8 13:11:18 2007 UTC vs.
Revision 1.164 by root, Sun Feb 11 01:38:49 2007 UTC

115} 115}
116 116
117void 117void
118attachable::sever_self () 118attachable::sever_self ()
119{ 119{
120 if (self) 120 if (HV *self = this->self)
121 { 121 {
122 // keep a refcount because sv_unmagic might call attachable_free, 122 // keep a refcount because sv_unmagic might call attachable_free,
123 // which might clear self, causing sv_unmagic to crash on a now 123 // which might clear self, causing sv_unmagic to crash on a now
124 // invalid object. 124 // invalid object.
125 SvREFCNT_inc (self); 125 SvREFCNT_inc (self);
126 hv_clear (self); 126 hv_clear (self);
127 sv_unmagic ((SV *)self, PERL_MAGIC_ext); 127 sv_unmagic ((SV *)self, PERL_MAGIC_ext);
128 SvREFCNT_dec (self); 128 SvREFCNT_dec (self);
129 129
130 // self *must* be null now because thats sv_unmagic's job. 130 // self *must* be null now because thats sv_unmagic's job.
131 assert (!self); 131 assert (!this->self);
132 flags |= 0x80; // severed //D 132 flags |= 0x80; // severed //D
133 } 133 }
134} 134}
135 135
136void 136void
1740 CODE: 1740 CODE:
1741 RETVAL = SvROK (obj) && mg_find (SvRV (obj), PERL_MAGIC_ext); 1741 RETVAL = SvROK (obj) && mg_find (SvRV (obj), PERL_MAGIC_ext);
1742 OUTPUT: 1742 OUTPUT:
1743 RETVAL 1743 RETVAL
1744 1744
1745void
1746debug_trace (attachable *obj, bool on = true)
1747 CODE:
1748 obj->flags &= ~attachable::F_DEBUG_TRACE;
1749 if (on)
1750 obj->flags |= attachable::F_DEBUG_TRACE;
1751
1745int mortals_size () 1752int mortals_size ()
1746 CODE: 1753 CODE:
1747 RETVAL = attachable::mortals.size (); 1754 RETVAL = attachable::mortals.size ();
1748 OUTPUT: RETVAL 1755 OUTPUT: RETVAL
1749 1756

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines