⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commisc.cpp

📁 vxworks操作系统的源代码 供研究学习
💻 CPP
字号:
/* comMisc.cpp -- VxCOM miscellaneous support code *//* Copyright (c) 1999-2001 Wind River Systems, Inc. *//*modification history--------------------01e,17dec01,nel  Add include symbol for diab build.01d,16jul01,dbs  add VxCondVar methods01c,28jun01,dbs  move g_defaultServerPriority to comCoreLib01b,27jun01,dbs  fix include filenames01a,21jun01,dbs  written (adapted from the old vxdcom.cpp)*/#include <stdio.h>#include "vxWorks.h"#include "semLib.h"#include "taskLib.h"#include "private/comMisc.h"/* Include symbol for diab */extern "C" int include_vxcom_comMisc (void)    {    return 0;    }VxMutex::VxMutex ()    {    m_mutex = semMCreate (SEM_Q_FIFO);    COM_ASSERT (m_mutex);    }VxMutex::~VxMutex ()    {    semDelete (m_mutex);    }void VxMutex::lock (unsigned long ms) const    {    STATUS result = semTake (m_mutex, MS2TICKS(ms));    COM_ASSERT(result == OK);    if (result != OK)	taskSuspend (taskIdSelf ());    }void VxMutex::unlock () const    {    semGive (m_mutex);    }VxCondVar::VxCondVar ()    {    m_condvar = semBCreate (SEM_Q_FIFO, SEM_EMPTY);    COM_ASSERT (m_condvar);    }VxCondVar::~VxCondVar ()    {    semDelete (m_condvar);    }void VxCondVar::wait (const VxMutex& mtx)    {    mtx.unlock ();    semTake (m_condvar, WAIT_FOREVER);    mtx.lock (WAIT_FOREVER);    }void VxCondVar::signal () const    {    semGive (m_condvar);    }void comAssertFailed    (    const char* expr,    const char* fileName,    int         lineNo    )    {    printf ("VxCOM: Assertion failed: %s (%s:%d)\n",            expr,            fileName,            lineNo);    taskSuspend (taskIdSelf ());    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -