This patch fixes /o under threads.  Artur is following up this message with
a patch that adds testing for /o.

Note: You will need to change PM_GETRE(pm) to pm->op_pmregexp if you haven't
yet applied Artur's patch from the message

    Subject: Re: [PATCH] Step 1 of moving regexps to the pad

This patch will probably close some open bug somewhere regarding /o and
ithreads that I'm not aware of.

R.

--- pp_ctl.c.orig       Tue Jun  5 22:09:11 2001
+++ pp_ctl.c    Thu Jun 21 05:15:13 2001
@@ -88,6 +88,13 @@
     MAGIC *mg = Null(MAGIC*);
 
     tmpstr = POPs;
+
+    /* prevent recompiling under /o and ithreads. */
+#if defined(USE_ITHREADS) || defined(USE_THREADS)
+    if (pm->op_pmflags & PMf_KEEP && PM_GETRE(pm))
+       RETURN;
+#endif
+
     if (SvROK(tmpstr)) {
        SV *sv = SvRV(tmpstr);
        if(SvMAGICAL(sv))


Reply via email to