[svn:parrot] r40366 - trunk/src/pmc

NotFound at svn.parrot.org NotFound at svn.parrot.org
Sat Aug 1 22:49:24 UTC 2009


Author: NotFound
Date: Sat Aug  1 22:49:23 2009
New Revision: 40366
URL: https://trac.parrot.org/parrot/changeset/40366

Log:
[cage] set PMC_data to NULL in destroy on several pmc, TT #895

Modified:
   trunk/src/pmc/arrayiterator.pmc
   trunk/src/pmc/bigint.pmc
   trunk/src/pmc/bignum.pmc
   trunk/src/pmc/class.pmc
   trunk/src/pmc/exporter.pmc
   trunk/src/pmc/fixedbooleanarray.pmc
   trunk/src/pmc/fixedfloatarray.pmc
   trunk/src/pmc/hashiterator.pmc
   trunk/src/pmc/hashiteratorkey.pmc
   trunk/src/pmc/key.pmc
   trunk/src/pmc/lexpad.pmc
   trunk/src/pmc/managedstruct.pmc
   trunk/src/pmc/orderedhashiterator.pmc
   trunk/src/pmc/parrotlibrary.pmc
   trunk/src/pmc/parrotrunningthread.pmc
   trunk/src/pmc/pointer.pmc
   trunk/src/pmc/retcontinuation.pmc
   trunk/src/pmc/role.pmc
   trunk/src/pmc/scheduler.pmc
   trunk/src/pmc/schedulermessage.pmc
   trunk/src/pmc/socket.pmc
   trunk/src/pmc/stringiterator.pmc
   trunk/src/pmc/task.pmc
   trunk/src/pmc/timer.pmc

Modified: trunk/src/pmc/arrayiterator.pmc
==============================================================================
--- trunk/src/pmc/arrayiterator.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/arrayiterator.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -109,6 +109,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/bigint.pmc
==============================================================================
--- trunk/src/pmc/bigint.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/bigint.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -645,6 +645,7 @@
         attrs = (Parrot_BigInt_attributes*)PMC_data(SELF);
         mem_sys_free(attrs->bi);
         mem_sys_free(attrs);
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/bignum.pmc
==============================================================================
--- trunk/src/pmc/bignum.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/bignum.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -861,6 +861,7 @@
         mem_sys_free(attrs->bn);
 #endif
         mem_sys_free(attrs);
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/class.pmc
==============================================================================
--- trunk/src/pmc/class.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/class.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -569,6 +569,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/exporter.pmc
==============================================================================
--- trunk/src/pmc/exporter.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/exporter.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -134,6 +134,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 

Modified: trunk/src/pmc/fixedbooleanarray.pmc
==============================================================================
--- trunk/src/pmc/fixedbooleanarray.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/fixedbooleanarray.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -68,6 +68,7 @@
         if (bit_array)
             mem_sys_free(bit_array);
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/fixedfloatarray.pmc
==============================================================================
--- trunk/src/pmc/fixedfloatarray.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/fixedfloatarray.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -62,6 +62,7 @@
             mem_sys_free(float_array);
 
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/hashiterator.pmc
==============================================================================
--- trunk/src/pmc/hashiterator.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/hashiterator.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -127,6 +127,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/hashiteratorkey.pmc
==============================================================================
--- trunk/src/pmc/hashiteratorkey.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/hashiteratorkey.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -56,6 +56,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/key.pmc
==============================================================================
--- trunk/src/pmc/key.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/key.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -59,6 +59,7 @@
 */
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/lexpad.pmc
==============================================================================
--- trunk/src/pmc/lexpad.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/lexpad.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -89,6 +89,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
     VTABLE void set_pointer(void *ctx) {

Modified: trunk/src/pmc/managedstruct.pmc
==============================================================================
--- trunk/src/pmc/managedstruct.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/managedstruct.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -92,6 +92,7 @@
                 mem_sys_free(ptr);
         }
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/orderedhashiterator.pmc
==============================================================================
--- trunk/src/pmc/orderedhashiterator.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/orderedhashiterator.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -66,6 +66,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/parrotlibrary.pmc
==============================================================================
--- trunk/src/pmc/parrotlibrary.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/parrotlibrary.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -67,6 +67,7 @@
         if (dl_handle)
             Parrot_dlclose(dl_handle);
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 

Modified: trunk/src/pmc/parrotrunningthread.pmc
==============================================================================
--- trunk/src/pmc/parrotrunningthread.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/parrotrunningthread.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -65,6 +65,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/pointer.pmc
==============================================================================
--- trunk/src/pmc/pointer.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/pointer.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -51,6 +51,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PARROT_POINTER(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 

Modified: trunk/src/pmc/retcontinuation.pmc
==============================================================================
--- trunk/src/pmc/retcontinuation.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/retcontinuation.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -57,6 +57,7 @@
             mem_sys_free(cc);
 
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 /*
 

Modified: trunk/src/pmc/role.pmc
==============================================================================
--- trunk/src/pmc/role.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/role.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -256,6 +256,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/scheduler.pmc
==============================================================================
--- trunk/src/pmc/scheduler.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/scheduler.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -249,6 +249,7 @@
         Parrot_Scheduler_attributes * const core_struct = PARROT_SCHEDULER(SELF);
         MUTEX_DESTROY(core_struct->msg_lock);
         mem_sys_free(core_struct);
+        PMC_data(SELF) = NULL;
     }
 
 

Modified: trunk/src/pmc/schedulermessage.pmc
==============================================================================
--- trunk/src/pmc/schedulermessage.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/schedulermessage.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -198,6 +198,7 @@
 */
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/socket.pmc
==============================================================================
--- trunk/src/pmc/socket.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/socket.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -119,6 +119,7 @@
                 Parrot_io_close_piohandle(interp, data_struct->os_handle);
             data_struct->os_handle = PIO_INVALID_HANDLE;
         }
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/stringiterator.pmc
==============================================================================
--- trunk/src/pmc/stringiterator.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/stringiterator.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -63,6 +63,7 @@
 
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/task.pmc
==============================================================================
--- trunk/src/pmc/task.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/task.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -378,6 +378,7 @@
 */
     VTABLE void destroy() {
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*

Modified: trunk/src/pmc/timer.pmc
==============================================================================
--- trunk/src/pmc/timer.pmc	Sat Aug  1 22:10:42 2009	(r40365)
+++ trunk/src/pmc/timer.pmc	Sat Aug  1 22:49:23 2009	(r40366)
@@ -180,6 +180,7 @@
     VTABLE void destroy() {
         Parrot_cx_delete_task(INTERP, SELF);
         mem_sys_free(PMC_data(SELF));
+        PMC_data(SELF) = NULL;
     }
 
 /*


More information about the parrot-commits mailing list