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

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

?? tx_sd.c

?? ThreadX優秀的硬實時操作系統.This Express Start Guide is designed to help you install and use ThreadX for the
?? C
字號:
/**************************************************************************/ 
/*                                                                        */ 
/*            Copyright (c) 1996-2000 by Express Logic Inc.               */ 
/*                                                                        */ 
/*  This software is copyrighted by and is the sole property of Express   */ 
/*  Logic, Inc.  All rights, title, ownership, or other interests         */ 
/*  in the software remain the property of Express Logic, Inc.  This      */ 
/*  software may only be used in accordance with the corresponding        */ 
/*  license agreement.  Any unauthorized use, duplication, transmission,  */ 
/*  distribution, or disclosure of this software is expressly forbidden.  */ 
/*                                                                        */
/*  This Copyright notice may not be removed or modified without prior    */ 
/*  written consent of Express Logic, Inc.                                */ 
/*                                                                        */ 
/*  Express Logic, Inc. reserves the right to modify this software        */ 
/*  without notice.                                                       */ 
/*                                                                        */ 
/*  Express Logic, Inc.                                                   */
/*  11440 West Bernardo Court               info@expresslogic.com         */
/*  Suite 366                               http://www.expresslogic.com   */
/*  San Diego, CA  92127                                                  */
/*                                                                        */
/**************************************************************************/


/**************************************************************************/
/**************************************************************************/
/**                                                                       */ 
/** ThreadX Component                                                     */ 
/**                                                                       */
/**   Semaphore (SEM)                                                     */
/**                                                                       */
/**************************************************************************/
/**************************************************************************/

#define TX_SOURCE_CODE


/* Include necessary system files.  */

#include    "tx_api.h"
#include    "tx_thr.h"
#include    "tx_tim.h"
#include    "tx_sem.h"


/**************************************************************************/ 
/*                                                                        */ 
/*  FUNCTION                                               RELEASE        */ 
/*                                                                        */ 
/*    _tx_semaphore_delete                                PORTABLE C      */ 
/*                                                           3.0f         */ 
/*  AUTHOR                                                                */ 
/*                                                                        */ 
/*    William E. Lamie, Express Logic, Inc.                               */ 
/*                                                                        */ 
/*  DESCRIPTION                                                           */ 
/*                                                                        */ 
/*    This function deletes the specified semaphore.  All threads         */ 
/*    suspended on the semaphore are resumed with the TX_DELETED status   */ 
/*    code.                                                               */ 
/*                                                                        */ 
/*  INPUT                                                                 */ 
/*                                                                        */ 
/*    semaphore_ptr                     Pointer to semaphore control block*/ 
/*                                                                        */ 
/*  OUTPUT                                                                */ 
/*                                                                        */ 
/*    TX_SUCCESS                        Successful completion status      */ 
/*                                                                        */ 
/*  CALLS                                                                 */ 
/*                                                                        */ 
/*    _tx_timer_deactivate              Deactivate timer routine          */ 
/*    _tx_thread_resume                 Resume thread service             */ 
/*                                                                        */ 
/*  CALLED BY                                                             */ 
/*                                                                        */ 
/*    Application Code                                                    */ 
/*                                                                        */ 
/*  RELEASE HISTORY                                                       */ 
/*                                                                        */ 
/*    DATE              NAME                      DESCRIPTION             */ 
/*                                                                        */ 
/*  12-31-1996     William E. Lamie         Initial Version 3.0           */ 
/*  11-11-1997     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0b.  */ 
/*  01-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0e.  */ 
/*  11-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            added logic to track events,*/ 
/*                                            resulting in version 3.0f.  */ 
/*                                                                        */ 
/**************************************************************************/ 
UINT    _tx_semaphore_delete(TX_SEMAPHORE *semaphore_ptr)
{

TX_INTERRUPT_SAVE_AREA

TX_THREAD       *thread_ptr;                /* Working thread pointer  */


    /* Disable interrupts to remove the semaphore from the created list.  */
    TX_DISABLE

    /* Log this kernel call.  */
    TX_EL_SEMAPHORE_DELETE_INSERT

    /* Decrement the number of semaphores created.  */
    _tx_semaphore_created_count--;

    /* Clear the semaphore ID to make it invalid.  */
    semaphore_ptr -> tx_semaphore_id =  0;

    /* See if the semaphore is the only one on the list.  */
    if (semaphore_ptr == semaphore_ptr -> tx_semaphore_created_next)
    {

        /* Only created semaphore, just set the created list to NULL.  */
        _tx_semaphore_created_ptr =  TX_NULL;
    }
    else
    {

        /* Link-up the neighbors.  */
        (semaphore_ptr -> tx_semaphore_created_next) -> tx_semaphore_created_previous =
                                            semaphore_ptr -> tx_semaphore_created_previous;
        (semaphore_ptr -> tx_semaphore_created_previous) -> tx_semaphore_created_next =
                                            semaphore_ptr -> tx_semaphore_created_next;

        /* See if we have to update the created list head pointer.  */
        if (_tx_semaphore_created_ptr == semaphore_ptr)
            
            /* Yes, move the head pointer to the next link. */
            _tx_semaphore_created_ptr =  semaphore_ptr -> tx_semaphore_created_next; 
    }

    /* Temporarily disable preemption.  */
    _tx_thread_preempt_disable++;

    /* Restore interrupts.  */
    TX_RESTORE

    /* Walk through the semaphore list to resume any and all threads suspended
       on this semaphore.  */
    thread_ptr =  semaphore_ptr -> tx_semaphore_suspension_list;    
    while (semaphore_ptr -> tx_semaphore_suspended_count)
    {
        /* Lockout interrupts.  */
        TX_DISABLE

        /* Clear the cleanup pointer, this prevents the timeout from doing 
           anything.  */
        thread_ptr -> tx_suspend_cleanup =  TX_NULL;

        /* Temporarily disable preemption again.  */
        _tx_thread_preempt_disable++;

        /* Restore interrupts.  */
        TX_RESTORE
    
        /* Yes, deactivate the thread's timer just in case.  */
        _tx_timer_deactivate(&(thread_ptr -> tx_thread_timer));

        /* Set the return status in the thread to TX_DELETED.  */
        thread_ptr -> tx_suspend_status =  TX_DELETED;

        /* Move the thread pointer ahead.  */
        thread_ptr =  thread_ptr -> tx_suspended_next;

        /* Resume the thread.  */
        _tx_thread_resume(thread_ptr -> tx_suspended_previous);

        /* Decrease the suspended count.  */
        semaphore_ptr -> tx_semaphore_suspended_count--;
    }

    /* Disable interrupts.  */
    TX_DISABLE

    /* Release previous preempt disable.  */
    _tx_thread_preempt_disable--;

    /* Restore interrupts.  */
    TX_RESTORE

    /* Check for preemption.  */
    if (_tx_thread_current_ptr != _tx_thread_execute_ptr)

        /* Transfer control to system.  */
        _tx_thread_system_return();

    /* Return TX_SUCCESS.  */
    return(TX_SUCCESS);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国十次了思思久久精品导航| 91麻豆精品国产91久久久| 日韩电影免费在线| 夜夜亚洲天天久久| 亚洲综合视频网| 亚洲成人动漫一区| 亚洲电影一区二区| 日韩高清不卡一区二区| 秋霞国产午夜精品免费视频| 美腿丝袜一区二区三区| 久久99精品久久只有精品| 国产永久精品大片wwwapp| 国精产品一区一区三区mba视频| 久久99国产乱子伦精品免费| 国产乱码精品一区二区三区av| 国产尤物一区二区| 成人小视频免费在线观看| 99r国产精品| 欧美日韩久久久一区| 欧美一区二区高清| 国产欧美日韩另类视频免费观看| 国产精品久久影院| 亚洲成在人线免费| 久久精品国产久精国产| 国产不卡视频一区| 色美美综合视频| 日韩精品一区在线观看| 中文字幕免费在线观看视频一区| 一区二区三区自拍| 国内精品伊人久久久久av影院| 在线观看日韩精品| 日韩一级视频免费观看在线| 久久久精品影视| 亚洲成av人片在线| 国产成人亚洲精品青草天美| 在线观看精品一区| 久久久久久久久久看片| 亚洲一区二区三区四区在线| 国内精品久久久久影院一蜜桃| 92国产精品观看| 欧美精品一区二区在线观看| 尤物在线观看一区| 国产成人一级电影| 欧美一区二区三区在| 中文字幕一区二区三区精华液 | 夜夜亚洲天天久久| 久久精品久久99精品久久| 91丨九色丨蝌蚪丨老版| 色先锋资源久久综合| 国产精品丝袜黑色高跟| 久久精品国产亚洲5555| 欧美片网站yy| 亚洲色图制服诱惑 | 经典三级一区二区| 在线日韩av片| 最新欧美精品一区二区三区| 国产成人综合在线观看| 日韩欧美一区在线观看| 亚洲国产精品一区二区尤物区| 国产成人精品一区二区三区网站观看| 欧美猛男超大videosgay| 亚洲欧洲另类国产综合| 粉嫩绯色av一区二区在线观看 | 看片网站欧美日韩| 欧美日韩一区二区三区不卡| 亚洲欧美日韩国产综合在线| 国产成人在线影院| 精品欧美黑人一区二区三区| 日韩激情在线观看| 欧美精品日韩一区| 婷婷六月综合网| 欧美日韩精品一区二区三区蜜桃| 一区二区三区美女视频| 在线看一区二区| 亚洲在线视频网站| 色婷婷综合五月| 综合久久给合久久狠狠狠97色 | 日韩精品一二三区| 欧美日韩一卡二卡三卡 | 日韩无一区二区| 日韩不卡一区二区| 日韩欧美在线123| 国产一区二区精品在线观看| wwwwxxxxx欧美| 高清国产午夜精品久久久久久| 国产香蕉久久精品综合网| 国产a精品视频| 综合自拍亚洲综合图不卡区| 色琪琪一区二区三区亚洲区| 亚洲综合成人在线视频| 538在线一区二区精品国产| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美成人r级一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 久久久精品黄色| 99国产精品久久| 亚洲影院理伦片| 日韩久久久精品| 国产精品99久久久久| 亚洲日本一区二区| 欧美美女一区二区在线观看| 免费一级片91| 欧美激情一区二区三区全黄| 在线精品视频一区二区| 日韩—二三区免费观看av| 国产偷国产偷亚洲高清人白洁| 91在线观看下载| 秋霞午夜av一区二区三区| 欧美国产成人在线| 欧美丰满少妇xxxbbb| 国产成人综合在线| 亚洲国产视频一区二区| 久久久久久久久99精品| 精品一区二区三区欧美| 久久久亚洲精华液精华液精华液| 香蕉av福利精品导航| 欧美三级中文字| 日本亚洲三级在线| 国产片一区二区三区| 欧美三级乱人伦电影| 久久精品国产99国产| 亚洲精品成人少妇| www久久精品| 欧美日韩午夜精品| 岛国一区二区在线观看| 日韩av在线播放中文字幕| 亚洲欧洲成人自拍| 337p粉嫩大胆噜噜噜噜噜91av | 成人欧美一区二区三区小说| 欧美一级在线免费| 色妹子一区二区| 粉嫩一区二区三区性色av| 免费久久99精品国产| 亚洲精品菠萝久久久久久久| 欧美—级在线免费片| 欧美videossexotv100| 欧美日韩大陆一区二区| 99精品久久99久久久久| 高清国产一区二区| 国产精品一区免费视频| 久久99精品一区二区三区| 天天综合色天天综合色h| 亚洲综合色成人| 免费观看30秒视频久久| 亚洲一区免费视频| 日韩一区在线播放| 国产精品网曝门| 国产精品污www在线观看| 久久久三级国产网站| 欧美精品一区二区三区蜜桃视频| 欧美一区二区三区啪啪| 91精品麻豆日日躁夜夜躁| 99国产精品久久| 555www色欧美视频| 欧美一区二区精品| 欧美在线不卡视频| 国产成人精品影视| 国产99久久久久| 国产91精品露脸国语对白| 国产一区欧美二区| 国产东北露脸精品视频| 国产麻豆视频精品| 国产福利精品一区二区| 国产91精品欧美| 色综合久久88色综合天天免费| 97国产精品videossex| 91麻豆精品在线观看| 欧美综合一区二区三区| 欧美人体做爰大胆视频| 日韩亚洲欧美在线| 久久综合久久久久88| 欧美国产激情一区二区三区蜜月| 中文字幕一区二区三区av| 亚洲一区精品在线| 免费看精品久久片| 成人黄色av电影| 欧美视频你懂的| 欧美一级xxx| 色一情一乱一乱一91av| 有坂深雪av一区二区精品| 亚洲精选免费视频| 天天色综合成人网| 国产成人亚洲精品青草天美| 99国产精品久久久久久久久久久| 97久久精品人人澡人人爽| 欧美日韩国产美| 久久精品水蜜桃av综合天堂| 中文字幕日韩欧美一区二区三区| 亚洲第一久久影院| 国产毛片精品一区| 欧美探花视频资源| 久久蜜臀精品av| 久久福利资源站| 粉嫩一区二区三区性色av| 777奇米四色成人影色区| 久久精品人人做人人爽人人| 一区二区在线看| 国产高清无密码一区二区三区| 91麻豆.com| 久久久久久久综合狠狠综合|