|
@@ -34,24 +34,24 @@
|
|
|
//#define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */
|
|
|
//#define BOLDWHITE "\033[1m\033[37m" /* Bold White */
|
|
|
|
|
|
-class AttachThread : public QThread
|
|
|
-{
|
|
|
- public:
|
|
|
- AttachThread(QSharedMemory * pa,bool & bAttach)
|
|
|
- {
|
|
|
- mbAttach = bAttach;
|
|
|
- mpa = pa;
|
|
|
- mbrun = true;
|
|
|
- }
|
|
|
- QSharedMemory * mpa;
|
|
|
- bool mbAttach = false;
|
|
|
- bool mbrun = true;
|
|
|
- void run()
|
|
|
- {
|
|
|
- mbAttach = mpa->attach();
|
|
|
- mbrun = false;
|
|
|
- }
|
|
|
-};
|
|
|
+//class AttachThread : public QThread
|
|
|
+//{
|
|
|
+// public:
|
|
|
+// AttachThread(QSharedMemory * pa,bool & bAttach)
|
|
|
+// {
|
|
|
+// mbAttach = bAttach;
|
|
|
+// mpa = pa;
|
|
|
+// mbrun = true;
|
|
|
+// }
|
|
|
+// QSharedMemory * mpa;
|
|
|
+// bool mbAttach = false;
|
|
|
+// bool mbrun = true;
|
|
|
+// void run()
|
|
|
+// {
|
|
|
+// mbAttach = mpa->attach();
|
|
|
+// mbrun = false;
|
|
|
+// }
|
|
|
+//};
|
|
|
|
|
|
void procsm::threadAttachMon()
|
|
|
{
|
|
@@ -416,31 +416,17 @@ void procsm::recreateasm(int nbufsize)
|
|
|
char strout[300];
|
|
|
snprintf(strout,300,"new asm name is %s,buffer size is %d ",mASM_State.mstrshmname,mnBufSize);
|
|
|
ivstdcolorout(strout,iv::STDCOLOR_GREEN);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// qDebug("new asm name is %s,buffer size is %d ",mASM_State.mstrshmname,mnBufSize);
|
|
|
mpASM = new QSharedMemory(mASM_State.mstrshmname);
|
|
|
|
|
|
- bool bAttach = false;
|
|
|
- AttachThread AT(mpASM,bAttach);
|
|
|
- AT.start();
|
|
|
- QTime xTime;
|
|
|
- xTime.start();
|
|
|
- while(xTime.elapsed()<100)
|
|
|
- {
|
|
|
- if(AT.mbrun == false)
|
|
|
- {
|
|
|
- bAttach = AT.mbAttach;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- // qDebug("time is %d",xTime.elapsed());
|
|
|
- if(xTime.elapsed()>= 1000)
|
|
|
- {
|
|
|
- qDebug("in 1000ms Attach fail.terminate it .");
|
|
|
- AT.terminate();
|
|
|
- bAttach = false;
|
|
|
- }
|
|
|
+ mpASM->attach();
|
|
|
+
|
|
|
+ bool bAttach = mpASM->isAttached();
|
|
|
|
|
|
- // if(!mpASM->attach())
|
|
|
if(!bAttach)
|
|
|
{
|
|
|
|
|
@@ -451,9 +437,6 @@ void procsm::recreateasm(int nbufsize)
|
|
|
mphead = (procsm_head *)(p+sizeof(procsm_info));
|
|
|
mpinfo->mCap = mnMaxPacCount;
|
|
|
mpinfo->mnBufSize = mnBufSize;
|
|
|
-// mpinfo->mFirst = nfirst;
|
|
|
-// mpinfo->mNext = nnext;
|
|
|
-// mpinfo->mLock = 0;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -468,8 +451,6 @@ void procsm::recreateasm(int nbufsize)
|
|
|
mphead = (procsm_head *)(p+sizeof(procsm_info));
|
|
|
mnMaxPacCount = mpinfo->mCap;
|
|
|
mnBufSize = mpinfo->mnBufSize;
|
|
|
- // qDebug("attach successful");
|
|
|
- // mstrtem = new char[mnBufSize];
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -533,8 +514,8 @@ bool procsm::AttachMem()
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- std::cout<<" mode: "<<mnMode<<" asm name: "<<mASM_State.mstrshmname<<std::endl;
|
|
|
- ivstdcolorout(" AttachMem: ASM Attach Fail. ",iv::STDCOLOR_BOLDYELLOW);
|
|
|
+// std::cout<<" mode: "<<mnMode<<" asm name: "<<mASM_State.mstrshmname<<std::endl;
|
|
|
+// ivstdcolorout(" AttachMem: ASM Attach Fail. ",iv::STDCOLOR_BOLDYELLOW);
|
|
|
if(mnMode == ModeWrite)
|
|
|
{
|
|
|
|
|
@@ -561,9 +542,12 @@ bool procsm::AttachMem()
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- char strout[256];
|
|
|
- // snprintf(strout,256,"%s Attach ASMPtr Fail.",mASM_State.mstr);
|
|
|
- ivstdcolorout(" AttachMem: Attach Fail. ",iv::STDCOLOR_BOLDYELLOW);
|
|
|
+ if(mnMode == ModeWrite)
|
|
|
+ {
|
|
|
+ char strout[256];
|
|
|
+ snprintf(strout,256,"%s Attach ASMPtr Fail.",mstrsmname);
|
|
|
+ ivstdcolorout(" AttachMem: Attach Fail. ",iv::STDCOLOR_BOLDYELLOW);
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
|