|
@@ -466,6 +466,12 @@ struct LocalProcessCrossCallTask : public ITaskSp
|
|
|
xreqInfo = (CrossCallReq*)pBuf;
|
|
|
Dbg("id:%x",xreqInfo->nEntityID);
|
|
|
}
|
|
|
+ ~LocalProcessCrossCallTask()
|
|
|
+ {
|
|
|
+ if (xreqInfo) {
|
|
|
+ delete[] (BYTE*)xreqInfo;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
void Process()
|
|
|
{
|
|
@@ -479,9 +485,19 @@ struct ProcessPreOnlineTask : public ITaskSp
|
|
|
{
|
|
|
CHeartBeatFSM* fsm;
|
|
|
CardActiveReq* cardActiveReq;
|
|
|
- ProcessPreOnlineTask(CHeartBeatFSM* f, CardActiveReq* req) : fsm(f)
|
|
|
+ ProcessPreOnlineTask(CHeartBeatFSM* f, CardActiveReq* req) : fsm(f),cardActiveReq(nullptr)
|
|
|
{
|
|
|
- cardActiveReq = req;
|
|
|
+ if (req != nullptr) {
|
|
|
+ cardActiveReq = (CardActiveReq*)malloc(sizeof(struct CardActiveReq));
|
|
|
+ memcpy(cardActiveReq, req, sizeof(CardActiveReq));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ~ProcessPreOnlineTask()
|
|
|
+ {
|
|
|
+ if (cardActiveReq != nullptr) {
|
|
|
+ free((void*)cardActiveReq);
|
|
|
+ cardActiveReq = nullptr;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void Process()
|