コード例 #1
0
ファイル: hotplugLib.c プロジェクト: Ga-vin/libsylixos
/*********************************************************************************************************
** 函数名称: _hotplugThread
** 功能描述: hotplug 事件处理线程
** 输 入  : NONE
** 输 出  : NONE
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
static VOID  _hotplugThread (VOID)
{
    ULONG  ulError;
    
    for (;;) {
        ulError = _jobQueueExec(&_G_jobqHotplug, LW_HOTPLUG_SEC * LW_TICK_HZ);
        if (ulError) {                                                  /*  需要处理轮询事件            */
            PLW_HOTPLUG_POLLNODE    phppn;
            PLW_LIST_LINE           plineTemp;
            
            __HOTPLUG_LOCK();                                           /*  lock hotplug poll list      */
            for (plineTemp  = _G_plineHotplugPoll;
                 plineTemp != LW_NULL;
                 plineTemp  = _list_line_get_next(plineTemp)) {
                
                phppn = _LIST_ENTRY(plineTemp, LW_HOTPLUG_POLLNODE, HPPN_lineManage);
                if (phppn->HPPN_pfunc) {
                    phppn->HPPN_pfunc(phppn->HPPN_pvArg);               /*  调用先前安装的循环检测函数  */
                }
            }
            __HOTPLUG_UNLOCK();                                         /*  unlock hotplug poll list    */
        }
    }
}
コード例 #2
0
/*********************************************************************************************************
** 函数名称: _NetJobThread
** 功能描述: 网络工作队列处理线程
** 输 入  : NONE
** 输 出  : NONE
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
static VOID  _NetJobThread (VOID)
{
    for (;;) {
        _jobQueueExec(&_G_jobqNet, LW_OPTION_WAIT_INFINITE);
    }
}
コード例 #3
0
ファイル: excLib.c プロジェクト: Ga-vin/libsylixos
/*********************************************************************************************************
** 函数名称: _ExcThread
** 功能描述: 处理异常消息的线程
** 输 入  : NONE
** 输 出  : NONE
** 全局变量: 
** 调用模块: 
*********************************************************************************************************/
static VOID  _ExcThread (VOID)
{
    for (;;) {
        _jobQueueExec(&_G_jobqExc, LW_OPTION_WAIT_INFINITE);
    }
}