亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ecostest.cpp

?? ecos實時嵌入式操作系統(tǒng)
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    }    if(nDelay<20*1000){      nDelay+=rand() % 500;    }  }Done:      delete [] arbHostTried;}void CeCosTest::SetStatus (StatusType status){  ENTERCRITICAL;  if((int)status>(int)m_Status){    TRACE(_T("Status <- %s\n"),(LPCTSTR)Image(status));    m_Status=status;  }  LEAVECRITICAL;}bool CeCosTest::WaitForAllInstances(int nPoll,Duration nTimeout){  Time t0=Now();  while(InstanceCount>0){    CeCosThreadUtils::Sleep(nPoll);    if(NOTIMEOUT!=nTimeout && Now()-t0>nTimeout){      return false;    }  }  return true;}void CeCosTest::DeleteAllInstances(){  while(pFirstInstance){    delete pFirstInstance;  }}void CeCosTest::CancelAllInstances(){  ENTERCRITICAL;  for(CeCosTest *pTest=pFirstInstance;pTest;pTest=pTest->m_pNextInstance){    pTest->Cancel();  }  LEAVECRITICAL;}// The same format is used for _stscanf as for Format (which is like printf), so restrict to the format specifiers// the former is happy with.  In particular, do not use %-3s etc...LPCTSTR CeCosTest::pszFormat=// 1999-01-15 17:24:36 Fireblade:5002 MN10300 sin.exe 219k/134k Pass sin download=106.3/117.0 Total=107.6 Max inactive=1.0/300.0    _T("%04d-%02d-%02d %02d:%02d:%02d ")                   // Time_T("%15s ")                                            // Execution host:port_T("%16s ")                                             // Target_T("%30s ")                                            // Executable tail_T("%11s ")                                            // Result_T("%dk/%dk ")                                         // Sizes_T("D=") WFS _T("/") WFS _T(" Total=") WFS _T(" ")     // Times_T("E=") WFS _T("/") WFS _T(" ")_T("\"%s\"");bool CeCosTest::Value (  LPCTSTR pszStr,   struct tm &t,  StatusType &status,  String &target,  String &strExecutionHostPort,  String &strExecutableTail,  String &strTitle,  int &nFileSize,  Duration &nTotalTime,  Duration &nMaxInactiveTime,  Duration &nDownloadTime,  Duration &nDownloadTimeout,  Duration &nActiveTimeout,  int &nDownloadedSize){  int nLen=_tcslen(pszStr);  String strStatus;  nFileSize=nTotalTime=nMaxInactiveTime=nDownloadTime=nDownloadTimeout=nActiveTimeout=nDownloadedSize=0;    int nTotalTimeFrac=0;  int nMaxInactiveTimeFrac=0;  int nActiveTimeoutFrac=0;  int nDownloadTimeFrac=0;  int nDownloadTimeoutFrac=0;    static String strFormat;  if(0==strFormat.size()){    // Construct a version of the format string sans length attributes for %s items    LPCTSTR c=pszFormat;    TCHAR *d=strFormat.GetBuffer(_tcslen(pszFormat));    while(_TCHAR('\0')!=*c){      if(_TCHAR('%')==c[0] && _istdigit(c[1])){        *d++=_TCHAR('%');        do {          c++;        } while (_istdigit(*c));      }      *d++=*c++;    }    *d=_TCHAR('\0');    strFormat.ReleaseBuffer();  }    _stscanf(pszStr,    strFormat,    &t.tm_year,&t.tm_mon,&t.tm_mday,    &t.tm_hour,&t.tm_min,&t.tm_sec,         // Time of day    strExecutionHostPort.GetBuffer(1+nLen),       // Execution host:port    target.GetBuffer(1+nLen),                  // Target    strExecutableTail.GetBuffer(1+nLen),          // Executable    strStatus.GetBuffer(1+nLen),                  // Result    &nDownloadedSize,&nFileSize,            // Sizes    &nDownloadTime,&nDownloadTimeFrac,      // Times    &nDownloadTimeout,&nDownloadTimeoutFrac,    &nTotalTime,&nTotalTimeFrac,    &nMaxInactiveTime,&nMaxInactiveTimeFrac,    &nActiveTimeout,&nActiveTimeoutFrac,    strTitle.GetBuffer(1+nLen)                    // Title    );    strExecutionHostPort.ReleaseBuffer();  target.ReleaseBuffer();  strExecutableTail.ReleaseBuffer();  strStatus.ReleaseBuffer();  strTitle.ReleaseBuffer();  status=StatusTypeValue(strStatus);  LPCTSTR c1=_tcschr(pszStr,_TCHAR('"'));  if(c1){    c1++;    LPCTSTR c2=_tcschr(c1+1,_TCHAR('"'));    if(c2){      strTitle=String(c1,c2-c1);    }  }    nTotalTime=nTotalTime*1000+nTotalTimeFrac*100;  nMaxInactiveTime=nMaxInactiveTime*1000+nMaxInactiveTimeFrac*100;  nActiveTimeout=nActiveTimeout*1000+nActiveTimeoutFrac*100;  nDownloadTime=nDownloadTime*1000+nDownloadTimeFrac*100;  nDownloadTimeout=nDownloadTimeout*1000+nDownloadTimeoutFrac*100;    nFileSize*=1024;  nDownloadedSize*=1024;  t.tm_year-=1900;  t.tm_mon--;  return t.tm_year>=0 && t.tm_year<=200 && t.tm_mon>=0 && t.tm_mon<=11 && t.tm_mday>=1 && t.tm_mday<=31 && t.tm_hour>=0 && t.tm_hour<=23 && t.tm_min>=0 && t.tm_min<=59 && t.tm_sec>=0 && t.tm_sec<=59 &&    status!=StatusTypeMax     //&& exetype!=ExecutionParameters::ExecutableTypeMax    ;}  const String CeCosTest::ResultString(bool bIncludeOutput) const{  String strResultString;  String strTitle(m_strTitle);  String strExecutionHostPort(m_strExecutionHostPort);    if(0==strTitle.size()){    strTitle=CeCosSocket::MySimpleHostName();    strTitle+=_TCHAR(':');    strTitle+=m_strExecutable;   }    if(0==strExecutionHostPort.size()){    strExecutionHostPort=CeCosSocket::MySimpleHostName();    strExecutionHostPort+=_T(":0");  }    ENTERCRITICAL;  time_t ltime;  time(&ltime);  struct tm *now=localtime( &ltime );    strResultString.Format(    pszFormat,    1900+now->tm_year,1+now->tm_mon,now->tm_mday,    now->tm_hour,now->tm_min,now->tm_sec,               // Time of day    (LPCTSTR)strExecutionHostPort,                      // Execution host:port    (LPCTSTR)m_ep.PlatformName(),                       // Target    (LPCTSTR)CeCosTestUtils::Tail(m_strExecutable),     // Executable    (LPCTSTR)Image(Status()),                           // Result    m_nStrippedSize/1024,m_nFileSize/1024,              // Sizes    WF(m_nDownloadTime),WF(m_ep.DownloadTimeout()),WF(m_nTotalTime),// Times    WF(m_nMaxInactiveTime),WF(m_ep.ActiveTimeout()),    (LPCTSTR)strTitle                                   // Title    );  if(bIncludeOutput && m_strOutput.size()>0){                                strResultString+=_TCHAR('\n');    strResultString+=m_strOutput;  }  LEAVECRITICAL;  return strResultString;}// Run as a server, listening on the port given as parameterbool CeCosTest::RunAgent(int nTcpPort){  bool bLocked=false;    // Create socket  int nSock = CeCosSocket::Listen(nTcpPort);  int nLastClient=0;  if (-1!=nSock) {    for (;;) {      try {        CeCosSocket *pSock=new CeCosSocket(nSock); // AcceptThreadFunc deletes if not deleted below        String str;        // Read the execution parameters        if(!pSock->recvString(str)){          // Socket error on the recv - nothing much we can do          TRACE(_T("RunAgent : could not read execution parameters\n"));          delete pSock;          pSock=0;        } else {          ExecutionParameters e;          e.FromStr(str);          TRACE(_T("Execution parameters: %s\n"),(LPCTSTR)e.Image());          ServerStatus s;          CTestResource *pPort=0;          String strInfo;          switch(e.Request()) {            case ExecutionParameters::LOCK:              if(bLocked){                s=SERVER_BUSY;              } else {                WaitForAllInstances(1000,NOTIMEOUT);                bLocked=true;                s=SERVER_LOCKED;              }              break;            case ExecutionParameters::UNLOCK:              if(bLocked){                bLocked=false;                s=SERVER_READY;              } else {                s=SERVER_BUSY;              }              break;            case ExecutionParameters::QUERY:              if (bLocked) {                s=SERVER_LOCKED;              } else {                s=SERVER_BUSY;                ENTERCRITICAL;                for(CTestResource *pResource=CTestResource::First();pResource;pResource=pResource->Next()){                  if(!pResource->InUse()){                    s=SERVER_READY;                    break;                  }                }                LEAVECRITICAL;                if(SERVER_READY!=s){                  strInfo.Format(_T("serving %s"),(LPCTSTR)CeCosSocket::ClientName(nLastClient));                }              }              break;            case ExecutionParameters::RUN:              if(NULL==e.Platform()){                // Looks like a confused client ...                strInfo.Format(_T("Bad target value %s read from client\n"),(LPCTSTR)str);                s=SERVER_CANT_RUN;              } else if(0==CTestResource::Count(e)){                // No chance of running this test                strInfo.Format(_T("Cannot run a %s test from this server\n"),(LPCTSTR)e.PlatformName());                s=SERVER_CANT_RUN;              } else if (bLocked) {                s=SERVER_LOCKED;              } else {                pPort=CTestResource::GetResource(e);                if(0==pPort){                  // We must disappoint our client                  strInfo.Format(_T("serving %s"),(LPCTSTR)CeCosSocket::ClientName(nLastClient));                  s=SERVER_BUSY;                } else {                  s=SERVER_READY;                  nLastClient=pSock->Client();                }              }              break;            case ExecutionParameters::STOP:              s=SERVER_READY;              break;            default:              s=SERVER_CANT_RUN;          }          #ifndef VERBOSE          if(ExecutionParameters::QUERY!=e.Request())#endif            TRACE(_T("RunAgent : %s request tActive=%d tDownload=%d Target=%s Reply status=%s %s\n"),              (LPCTSTR)e.Image(e.Request()),e.ActiveTimeout(),e.DownloadTimeout(),              (LPCTSTR)e.PlatformName(),              (LPCTSTR)Image(s),(LPCTSTR)strInfo);                    bool bSendok=pSock->sendInteger(s) && pSock->sendString(strInfo);                    if(SERVER_READY==s && bSendok && ExecutionParameters::RUN==e.Request()){                        // Create a new class instance            // AcceptThreadFunc deletes the instance and closes new_sock            // RunLocal, called by AcceptThreadFunc, releases the port            // No need for meaningful callback, but must run asynchronously                        int nAuxPort=30000;            int nAuxListenSock=-1;                  do {              nAuxListenSock=CeCosSocket::Listen(nAuxPort);            } while (-1==nAuxListenSock && nAuxPort++<=0xffff);                        if(-1==nAuxListenSock){              ERROR(_T("Couldn't find a socket to bind to for RDI\n"));            } else {                            CeCosTest *pTest=new CeCosTest(e,NULL);              pTest->m_nAuxPort=nAuxPort;              pTest->m_nAuxListenSock=nAuxListenSock;              pTest->m_pSock=pSock;              pTest->m_strExecutionHostPort=CeCosSocket::HostPort(CeCosSocket::MyHostName(),nTcpPort);              pTest->m_pResource=pPort;              CeCosThreadUtils::RunThread(SAcceptThreadFunc,pTest,_T("SAcceptThreadFunc"));              // AcceptThreadFunc deletes pSock            }                      } else {            delete pSock;            pSock=0;            if(pPort){              pPort->Release();              pPort=0;            }            if(CeCosTest::ExecutionParameters::STOP==e.Request()){              CancelAllInstances();              WaitForAllInstances(1000,20*1000);              break;            }          }        }      }      catch(...){        TRACE(_T("!!! Exception caught in RunAgent()\n"));      }    }    CeCosSocket::CloseSocket (nSock);  }      return false;}CeCosTest::StatusType CeCosTest::StatusTypeValue(LPCTSTR  pszStr){  for(int i=0;i<StatusTypeMax;i++){    StatusType t=(StatusType)i;    if(0==_tcsicmp(Image(t),pszStr)){      return t;    }  }  return StatusTypeMax;}// Thread to run ConnectSocketToSerialvoid CeCosTest::ConnectSocketToSerialThreadFunc(){  TRACE(_T("ConnectSocketToSerialThreadFunc sock=%d\n"),m_nAuxListenSock);      CeCosTestSerialFilter serial_filter;  CeCosTestDownloadFilter download_filter;    CeCosSerial serial;  serial.SetBlockingReads(false);  bool rc=false;  // Open serial device.  if (!serial.Open(m_pResource->Serial(),m_pResource->Baud())){    ERROR(_T("Couldn't open port %s\n"),m_pResource->Serial());  } else {    for(;;){      // Flush the serial buffer.      serial.Flush();      TRACE(_T("ConnectSocketToSerial: waiting for connection...\n"));      CeCosSocket socket;      if(!socket.Accept(m_nAuxListenSock,&m_bStopConnectSocketToSerial)){        ERROR(_T("ConnectSocketToSerial - couldn't accept: %s\n"),(LPCTSTR)socket.SocketErrString());        break;      } else if (m_pSock->Client() != socket.Client()){            // Make sure the client is who we think it is...        TRACE(_T("ConnectSocketToSerialThread - illegal connection attempted from %s\n"),(LPCTSTR)socket.ClientName(socket.Client()));      } else {        try {            rc=CeCosSocket::ConnectSocketToSerial(socket,serial,m_ep.m_bUseFilter?SerialFilterFunction:NULL, (void*)&serial_filter, m_ep.m_bUseFilter?DownloadFilterFunction:NULL, (void*)&download_filter, &m_bStopConnectSocketToSerial);                    // If the download filter was just active, it may          // allow the session to continue.          if(!download_filter.ContinueSession()){            break;          }                  }        catch (LPCTSTR pszMsg){          Log(_T("!!! ConnectSocketToSerial exception caught: %s!!!\n"),pszMsg);          rc=false;          break;        }        catch (...){          Log(_T("!!! ConnectSocketToSerial exception caught!!!\n"));          rc=false;          break;        }      }    }  }  TRACE(_T("ConnectSocketToSerial : done\n"));  CeCosSocket::CloseSocket(m_nAuxListenSock);}static bool CALLBACK DerefBool(void *pParam){  return *(bool *)pParam;}// Function called (on a separate thread) to process a successful connection to the RunAgent loop// In the case of a simulator server, we can have many of these active at the same time.void CeCosTest::AcceptThreadFunc(){  if(m_ep.Platform()->ServerSideGdb()){    // We dream up a temporary name for the executable    ENTERCRITICAL;    m_strExecutable.Format(_T("%s-%s-%d"),_ttmpnam(0),(LPCTSTR)m_ep.PlatformName(),m_nAuxPort);    LEAVECRITICAL;    int n;    if(m_pSock->recvInteger(n,_T("file size"))){      m_nFileSize=n;      // Read file from the socket      bool bCanRun=true;      TRACE(_T("AcceptThreadFunc file size=%d reading...\n"),m_nFileSize);      FILE *f2;      f2=_tfopen(m_strExecutable,_T("wb"));      if(0==f2){        Log(_T("Could not create %s - %s\n"),(LPCTSTR)m_strExecutable,strerror(errno));        bCanRun=false;      }      unsigned int nBufSize=MIN(100000,m_nFileSize);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色香蕉成人二区免费| 日韩精品电影在线| 粉嫩一区二区三区性色av| 久久无码av三级| 国产99久久久精品| 亚洲三级久久久| 欧美亚日韩国产aⅴ精品中极品| 亚洲激情五月婷婷| 欧美日韩国产首页在线观看| 欧美aaaaaa午夜精品| 2023国产精华国产精品| 成人av动漫在线| 一区二区三区波多野结衣在线观看| 欧美午夜电影一区| 精品在线一区二区| 亚洲免费观看在线观看| 欧美一区在线视频| 风间由美性色一区二区三区| 亚洲精品久久嫩草网站秘色| 欧美一区二区高清| 91亚洲精品久久久蜜桃网站| 亚洲777理论| 国产日韩欧美一区二区三区乱码| 色婷婷激情一区二区三区| 免费成人你懂的| 亚洲欧洲99久久| 日韩网站在线看片你懂的| 国产jizzjizz一区二区| 偷窥少妇高潮呻吟av久久免费| 亚洲精品在线网站| 欧美色老头old∨ideo| 国产v综合v亚洲欧| 奇米色777欧美一区二区| 国产精品大尺度| 精品国产亚洲在线| 欧美在线观看视频一区二区三区| 国产乱码精品1区2区3区| 亚洲高清免费观看| 国产精品国产三级国产aⅴ入口| 欧美一区二区三区色| 色美美综合视频| 国产91精品在线观看| 蜜臀a∨国产成人精品| 亚洲精品老司机| 亚洲国产岛国毛片在线| 精品国产一区二区三区四区四| 欧美性猛片aaaaaaa做受| 不卡一区二区三区四区| 精品亚洲欧美一区| 蜜桃在线一区二区三区| 亚洲午夜视频在线| 亚洲欧美乱综合| 国产欧美一区二区三区鸳鸯浴| 日韩一级大片在线观看| 欧美午夜电影网| 欧美在线免费播放| 色999日韩国产欧美一区二区| 国产成人精品免费视频网站| 加勒比av一区二区| 久久av老司机精品网站导航| 日韩福利电影在线| 丝袜美腿亚洲综合| 亚洲午夜精品在线| 亚洲国产精品久久久久婷婷884| 亚洲人成伊人成综合网小说| 国产精品第四页| 国产精品三级视频| 久久综合色一综合色88| 久久夜色精品国产噜噜av| 精品国产成人系列| 久久这里只有精品首页| 久久久久久久电影| 国产亚洲欧美日韩俺去了| 久久一区二区三区四区| 精品国产免费久久| 欧美xxxxxxxx| 久久综合狠狠综合久久激情| 亚洲精品一区二区三区蜜桃下载| 日韩一区二区三区视频在线| 91精品国产综合久久久久久久 | 国产精品久久久久影视| 欧美经典一区二区| 国产精品黄色在线观看| 亚洲人成人一区二区在线观看 | 欧美疯狂性受xxxxx喷水图片| 欧美日韩一区 二区 三区 久久精品| 欧美性受xxxx| 欧美一级二级在线观看| 亚洲精品一区二区三区蜜桃下载 | 最新国产の精品合集bt伙计| 亚洲狠狠丁香婷婷综合久久久| 亚洲综合丁香婷婷六月香| 亚洲第一在线综合网站| 久久国产乱子精品免费女| 国产乱子伦视频一区二区三区 | 高清av一区二区| av中文字幕在线不卡| 欧美在线不卡一区| 精品国产精品一区二区夜夜嗨| 国产欧美一区二区精品婷婷| 亚洲欧美激情小说另类| 日韩高清在线电影| 高清国产一区二区| 欧美色图免费看| 久久综合网色—综合色88| 亚洲男女毛片无遮挡| 午夜天堂影视香蕉久久| 国产一区中文字幕| 色就色 综合激情| 777xxx欧美| 中文字幕永久在线不卡| 亚洲成人av电影在线| 国产成人综合精品三级| 欧美揉bbbbb揉bbbbb| 国产女人18毛片水真多成人如厕 | 亚洲一区二区欧美激情| 国产一区在线看| 色综合天天做天天爱| 欧美一区二区三区婷婷月色| 精品第一国产综合精品aⅴ| 自拍偷拍国产精品| 热久久久久久久| 99久久精品国产一区二区三区| 777xxx欧美| 一区二区三区中文字幕精品精品| 久久国产精品免费| 欧美三级三级三级爽爽爽| 国产精品久久久久久妇女6080| 午夜亚洲福利老司机| 99精品视频一区二区| 欧美白人最猛性xxxxx69交| 亚洲激情综合网| 成人免费黄色大片| 日韩情涩欧美日韩视频| 一个色在线综合| 久久久精品天堂| 久久精品一区二区三区av| 亚洲国产一区二区三区| www.久久久久久久久| 久久在线免费观看| 美脚の诱脚舐め脚责91 | 亚洲裸体在线观看| 国产精品一级二级三级| 91精品福利在线一区二区三区| 尤物在线观看一区| 不卡免费追剧大全电视剧网站| 日韩免费观看高清完整版在线观看| 亚洲乱码日产精品bd| 成人国产一区二区三区精品| 久久青草欧美一区二区三区| 免费在线看一区| 欧美精品在线一区二区三区| 一区二区三区精品在线| av影院午夜一区| 国产日韩欧美精品在线| 国产精品亚洲专一区二区三区| 日韩一二三区视频| 日韩电影网1区2区| 欧美一区二区三区公司| 婷婷夜色潮精品综合在线| 欧美日免费三级在线| 亚洲国产精品久久久久婷婷884| 91国偷自产一区二区三区成为亚洲经典| 中文字幕乱码一区二区免费| 成人午夜精品一区二区三区| 国产喂奶挤奶一区二区三区| 国产精品1区2区3区| 久久综合五月天婷婷伊人| 国产精品综合在线视频| 久久久综合精品| 成人免费视频免费观看| 亚洲日本va午夜在线影院| 91丨九色丨蝌蚪富婆spa| 亚洲狠狠丁香婷婷综合久久久| 日本大香伊一区二区三区| 亚洲一区免费观看| 欧美精选一区二区| 经典三级在线一区| 国产精品视频免费看| 91亚洲永久精品| 午夜久久久久久久久久一区二区| 欧美日韩成人在线一区| 捆绑变态av一区二区三区| 国产欧美一二三区| 色婷婷久久久亚洲一区二区三区| 亚洲观看高清完整版在线观看| 日韩亚洲欧美在线观看| 国产夫妻精品视频| 亚洲激情图片一区| 91麻豆精品国产91久久久久 | 午夜精品在线视频一区| 欧美一卡2卡三卡4卡5免费| 国产在线精品视频| 亚洲激情综合网| 精品欧美久久久| 成人国产精品免费观看| 视频在线观看国产精品| 国产亚洲成av人在线观看导航| 91色视频在线| 日本91福利区|