==== //depot/D/Event/ChangeLog#164 - /cache/D/Event/ChangeLog ====
--- /tmp/tmp.5742.0     Fri May 19 10:42:52 2000
+++ /cache/D/Event/ChangeLog    Fri May 19 10:37:03 2000
@@ -1,3 +1,8 @@
+2000-05-19  Joshua Pritikin  <[EMAIL PROTECTED]>
+
+       * Fix SEGV triggered when Event-Stats is enabled while loop is
+       nested.
+
 2000-05-12  Joshua Pritikin  <[EMAIL PROTECTED]>
 
        * Release 0.77.
==== //depot/D/Event/c/ev.c#17 - /cache/D/Event/c/ev.c ====
--- /tmp/tmp.5742.1     Fri May 19 10:42:52 2000
+++ /cache/D/Event/c/ev.c       Fri May 19 10:33:09 2000
@@ -155,8 +155,13 @@
            Estat.scrub(fp->stats, wa);
            fp->stats = 0;
        }
-       if (CurCBFrame >= 0)
-           Estat.resume((CBFrame + CurCBFrame)->stats);
+       if (CurCBFrame >= 0) {
+           pe_cbframe *pfp = CBFrame + CurCBFrame;
+           if (!pfp->stats)
+               pfp->stats = Estat.enter(CurCBFrame, pfp->ev->up->max_cb_tm);
+           else
+               Estat.resume(pfp->stats);
+       }
     }
     /* this must be last because it can destroy the watcher */
     pe_event_release(ev);

-- 
"Never ascribe to malice that which can be explained by stupidity."
                           via, but not speaking for Deutsche Bank

Reply via email to