Bug fix: save Converse handler so we don't use msg
authorOrion Lawlor <olawlor@acm.org>
Mon, 27 Jan 2003 16:52:24 +0000 (16:52 +0000)
committerOrion Lawlor <olawlor@acm.org>
Mon, 27 Jan 2003 16:52:24 +0000 (16:52 +0000)
after it's deleted.

src/conv-core/convcore.c

index 5eb7c46a3a263dfdeb814b8299a52d16752a3fa8..a944414e99f6b9bd4ef29cde0759ab283b1923c4 100644 (file)
@@ -875,13 +875,14 @@ void CmiHandleMessage(void *msg)
        CpvAccess(cQdState)->mProcessed++;
 */
         CmiHandlerInfo *h;
-#ifndef CMK_OPTIMIZE   
-       _LOG_E_HANDLER_BEGIN(CmiGetHandler(msg)); /* projector */
+#ifndef CMK_OPTIMIZE
+       int handler=CmiGetHandler(msg); /* Save handler for use after msg is gone */
+       _LOG_E_HANDLER_BEGIN(handler); /* projector */
 #endif
        h=&CmiGetHandlerInfo(msg);
        (h->hdlr)(msg,h->userPtr);
-#ifndef CMK_OPTIMIZE   
-       _LOG_E_HANDLER_END(CmiGetHandler(msg));         /* projector */
+#ifndef CMK_OPTIMIZE
+       _LOG_E_HANDLER_END(handler);    /* projector */
 #endif
 }