Attempt to fix core-specific logic in IPC::Open2 tests
[p5sagit/p5-mst-13.2.git] / intrpvar.h
index 3265ac2..9f8e443 100644 (file)
@@ -170,6 +170,20 @@ PERLVARA(Icolors,6,        char *)         /* from regcomp.c */
 PERLVARI(Ipeepp,       peep_t, MEMBER_TO_FPTR(Perl_peep))
                                        /* Pointer to peephole optimizer */
 
+/*
+=for apidoc Amn|Perl_ophook_t|PL_opfreehook
+
+When non-C<NULL>, the function pointed by this variable will be called each time an OP is freed with the corresponding OP as the argument.
+This allows extensions to free any extra attribute they have locally attached to an OP.
+It is also assured to first fire for the parent OP and then for its kids.
+
+When you replace this variable, it is considered a good practice to store the possibly previously installed hook and that you recall it inside your own.
+
+=cut
+*/
+
+PERLVARI(Iopfreehook,  Perl_ophook_t, 0) /* op_free() hook */
+
 PERLVARI(Imaxscream,   I32,    -1)
 PERLVARI(Ireginterp_cnt,I32,    0)     /* Whether "Regexp" was interpolated. */
 PERLVARI(Iwatchaddr,   char **, 0)
@@ -537,7 +551,8 @@ PERLVAR(Iparser,    yy_parser *)    /* current parser state */
    signal handler dispatches.  */
 PERLVAR(Ipsig_ptr, SV**)
 /* Array of names of signals, indexed by signal number, for (re)use as the first
-   argument to a signal handler.   */
+   argument to a signal handler.   Only one block of memory is allocated for
+   both psig_name and psig_ptr.  */
 PERLVAR(Ipsig_name, SV**)              
 
 #if defined(PERL_IMPLICIT_SYS)