[DynInst_API:] [PATCH] proccontrol: Always set UserRPCState in runIRPC


Date: Fri, 7 Feb 2014 16:04:27 -0800
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: [DynInst_API:] [PATCH] proccontrol: Always set UserRPCState in runIRPC
In commit 185f2def1921, RPCs first desynced UserRPCState to running, but
then merge commit 6edcf768c20d restricted it to ephemeral threads.  I
believe that was a mistake, and really all threads running iRPC need
this state to make sure they don't stall in the middle.
---
 proccontrol/src/irpc.C | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/proccontrol/src/irpc.C b/proccontrol/src/irpc.C
index 59730054af14..0ac11eb7e3d8 100644
--- a/proccontrol/src/irpc.C
+++ b/proccontrol/src/irpc.C
@@ -828,13 +828,13 @@ bool int_iRPC::runIRPC()
    //Set in running state
    thrd->setRunningRPC(shared_from_this());
    setState(Running);
-   
+   thrd->getUserRPCState().desyncState(int_thread::running);
+
    assert(allocation());
    assert(!allocSize() || (binarySize() <= allocSize()));
    assert(binaryBlob());
 
    if (thrd->isRPCEphemeral()) {
-      thrd->getUserRPCState().desyncState(int_thread::running);
 	   // Create it if necessary
 	   thrd->llproc()->instantiateRPCThread();
 	   pthrd_printf("\tInstantiated iRPC thread\n");
-- 
1.8.5.3

[← Prev in Thread] Current Thread [Next in Thread→]