equal
deleted
inserted
replaced
1142 DThread* t = m->iClient; |
1142 DThread* t = m->iClient; |
1143 TUint32 c = --t->iIpcCount; |
1143 TUint32 c = --t->iIpcCount; |
1144 |
1144 |
1145 if(m->IsDelivered() || m->IsAccepted()) |
1145 if(m->IsDelivered() || m->IsAccepted()) |
1146 { |
1146 { |
1147 if (!IsClosing()) |
1147 if (!IsClosing() && t->iMState != DThread::EDead) |
1148 { |
1148 { |
1149 m->SetCompleting(); |
1149 m->SetCompleting(); |
1150 Kern::QueueRequestComplete(t, m, aReason); |
1150 Kern::QueueRequestComplete(t, m, aReason); |
1151 } |
1151 } |
1152 else |
1152 else |
1748 // Note whether session connect message has completed |
1748 // Note whether session connect message has completed |
1749 if (m.iFunction == RMessage2::EConnect) |
1749 if (m.iFunction == RMessage2::EConnect) |
1750 s->iConnectMsgPtr = NULL; |
1750 s->iConnectMsgPtr = NULL; |
1751 |
1751 |
1752 __KTRACE_OPT(KIPC,Kern::Printf("MsgCo: M:%d r:%d %O->%O", m.iFunction, aReason, TheCurrentThread, m.iClient)); |
1752 __KTRACE_OPT(KIPC,Kern::Printf("MsgCo: M:%d r:%d %O->%O", m.iFunction, aReason, TheCurrentThread, m.iClient)); |
1753 if (!s->IsClosing()) |
1753 if (!s->IsClosing() && m.iClient->iMState != DThread::EDead) |
1754 { |
1754 { |
1755 m.SetCompleting(); |
1755 m.SetCompleting(); |
1756 Kern::QueueRequestComplete(m.iClient, &m, aReason); |
1756 Kern::QueueRequestComplete(m.iClient, &m, aReason); |
1757 } |
1757 } |
1758 else |
1758 else |