//------------------------------------------------------------------------------ tOplkError ctrlucal_checkKernelStack(void) { tOplkError ret; tCtrlKernelStatus kernelStatus; BOOL fExit = FALSE; int timeout = 0; UINT16 retVal; DEBUG_LVL_CTRL_TRACE("Check kernel stack...\n"); while (!fExit) { switch (kernelStatus = ctrlucal_getStatus()) { case kCtrlStatusReady: DEBUG_LVL_CTRL_TRACE("-> Kernel stack is ready\n"); fExit = TRUE; ret = kErrorOk; break; case kCtrlStatusRunning: /* try to shutdown kernel stack */ DEBUG_LVL_CTRL_TRACE("-> Try to shutdown Kernel Stack\n"); ret = ctrlucal_executeCmd(kCtrlCleanupStack, &retVal); if ((ret != kErrorOk) || ((tOplkError)retVal != kErrorOk)) { fExit = TRUE; ret = kErrorNoResource; break; } break; default: if (timeout == 0) { DEBUG_LVL_CTRL_TRACE("-> Wait for kernel stack\n"); } target_msleep(1000U); if (timeout++ >= CMD_TIMEOUT_SEC) { fExit = TRUE; ret = kErrorNoResource; } break; } } return ret; }
//------------------------------------------------------------------------------ tOplkError ctrlucal_checkKernelStack(void) { tOplkError ret; UINT16 kernelStatus; BOOL fExit = FALSE; int timeout = 0; TRACE("Check Kernel Stack...\n"); while (!fExit) { switch (kernelStatus = ctrlucal_getStatus()) { case kCtrlStatusReady: TRACE("-> Kernel Stack is ready\n"); fExit = TRUE; ret = kErrorOk; break; case kCtrlStatusRunning: /* try to shutdown kernel stack */ TRACE("-> Try to shutdown Kernel Stack\n"); ret = ctrlucal_executeCmd(kCtrlCleanupStack); if (ret != kErrorOk) { fExit = TRUE; ret = kErrorNoResource; } break; default: if (timeout == 0) TRACE("-> Wait for Kernel Stack\n"); target_msleep(1000U); if (timeout++ >= CMD_TIMEOUT_SEC) { fExit = TRUE; ret = kErrorNoResource; } break; } } return ret; }
//------------------------------------------------------------------------------ tOplkError ctrlucal_checkKernelStack(void) { UINT16 kernelStatus; tOplkError ret; UINT16 retVal; DEBUG_LVL_CTRL_TRACE("Checking for kernel stack...\n"); kernelStatus = ctrlucal_getStatus(); switch (kernelStatus) { case kCtrlStatusReady: ret = kErrorOk; break; case kCtrlStatusRunning: /* try to shutdown kernel stack */ ret = ctrlucal_executeCmd(kCtrlCleanupStack, &retVal); if ((ret != kErrorOk) || ((tOplkError)retVal != kErrorOk)) { ret = kErrorNoResource; break; } target_msleep(1000); kernelStatus = ctrlucal_getStatus(); if (kernelStatus != kCtrlStatusReady) ret = kErrorNoResource; else ret = kErrorOk; break; default: ret = kErrorNoResource; break; } return ret; }
//------------------------------------------------------------------------------ tOplkError ctrlucal_checkKernelStack(void) { tDualprocReturn dualRet; tCtrlKernelStatus kernelStatus; tOplkError ret; UINT16 magic; UINT16 retVal; UINT32 timeout = 0; BOOL fExit = FALSE; DEBUG_LVL_CTRL_TRACE("Checking for kernel stack...\n"); dualRet = dualprocshm_readDataCommon(instance_l.dualProcDrvInst, offsetof(tCtrlBuf, magic), sizeof(magic), (UINT8*)&magic); if (dualRet != kDualprocSuccessful) return kErrorGeneralError; if (magic != CTRL_MAGIC) { DEBUG_LVL_CTRL_TRACE("Kernel daemon not running! Exiting...\n"); return kErrorNoResource; } while (!fExit) { switch (kernelStatus = ctrlucal_getStatus()) { case kCtrlStatusReady: DEBUG_LVL_CTRL_TRACE("-> Kernel Stack is ready\n"); fExit = TRUE; ret = kErrorOk; break; case kCtrlStatusRunning: /* try to shutdown kernel stack */ DEBUG_LVL_CTRL_TRACE("-> Try to shutdown Kernel Stack\n"); ret = ctrlucal_executeCmd(kCtrlCleanupStack, &retVal); if ((ret != kErrorOk) || ((tOplkError)retVal != kErrorOk)) { fExit = TRUE; ret = kErrorNoResource; break; } break; default: if (timeout == 0) { DEBUG_LVL_CTRL_TRACE("-> Wait for Kernel Stack\n"); } target_msleep(1000U); if (timeout++ >= CMD_TIMEOUT_SEC) { fExit = TRUE; ret = kErrorNoResource; } break; } } return ret; }