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

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

?? mbc.c

?? nucleas source code
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*      [HIC_Make_History_Entry]            Make entry in history log    */
/*      TCC_Resume_Task                     Resume a suspended task      */
/*      [TCT_Check_Stack]                   Stack checking function      */
/*      TCT_Control_To_System               Transfer control to system   */
/*      TCT_Protect                         Protect created list         */
/*      TCT_Set_Current_Protect             Setup current protection ptr */
/*      TCT_System_Protect                  Protect against system access*/
/*      TCT_System_Unprotect                Release system protection    */
/*      TCT_Unprotect                       Release protection           */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      mailbox_ptr                         Mailbox control block pointer*/
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      NU_SUCCESS                                                       */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         DATE                    REMARKS                               */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      03-01-1994      Changed function interface to                    */
/*                      match the prototype, added                       */
/*                      register variable logic,                         */
/*                      optimized protection logic,                      */
/*                      resulting in version 1.1                         */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*                                                                       */
/*************************************************************************/
STATUS  MBC_Delete_Mailbox(NU_MAILBOX *mailbox_ptr)
{

R1 MB_MCB      *mailbox;                    /* Mailbox control block ptr */
MB_SUSPEND     *suspend_ptr;                /* Suspend block pointer     */
MB_SUSPEND     *next_ptr;                   /* Next suspend block pointer*/
STATUS          preempt;                    /* Status for resume call    */
NU_SUPERV_USER_VARIABLES

    /* Switch to supervisor mode */
    NU_SUPERVISOR_MODE();

    /* Move input mailbox pointer into internal pointer.  */
    mailbox =  (MB_MCB *) mailbox_ptr;

#ifdef  NU_ENABLE_STACK_CHECK

    /* Call stack checking function to check for an overflow condition.  */
    TCT_Check_Stack();

#endif

#ifdef  NU_ENABLE_HISTORY

    /* Make an entry that corresponds to this function in the system history
       log.  */
    HIC_Make_History_Entry(NU_DELETE_MAILBOX_ID, (UNSIGNED) mailbox,
                                        (UNSIGNED) 0, (UNSIGNED) 0);

#endif

    /* Call protection just in case another thread is using the mailbox.  */
    TCT_System_Protect();

#ifdef INCLUDE_PROVIEW
    _RTProf_DumpMailBox(RT_PROF_DELETE_MAILBOX,mailbox,RT_PROF_OK);
#endif /* INCLUDE_PROVIEW */
    /* Clear the mailbox ID.  */
    mailbox -> mb_id =  0;

    /* Clear protection.  */
    TCT_Unprotect();

    /* Protect against access to the list of created mailboxes.  */
    TCT_Protect(&MBD_List_Protect);

    /* Remove the mailbox from the list of created mailboxes.  */
    CSC_Remove_From_List(&MBD_Created_Mailboxes_List,
                                        &(mailbox -> mb_created));

    /* Decrement the total number of created mailboxes.  */
    MBD_Total_Mailboxes--;

    /* Pickup the suspended task pointer list.  */
    suspend_ptr =  mailbox -> mb_suspension_list;

    /* Walk the chain task(s) currently suspended on the mailbox.  */
    preempt =  0;
    while (suspend_ptr)
    {

        /* Protect against system access.  */
        TCT_System_Protect();

        /* Resume the suspended task.  Insure that the status returned is
           NU_MAILBOX_DELETED.  */
        suspend_ptr -> mb_return_status =  NU_MAILBOX_DELETED;

        /* Point to the next suspend structure in the link.  */
        next_ptr =  (MB_SUSPEND *) (suspend_ptr -> mb_suspend_link.cs_next);

        /* Resume the specified task.  */
        preempt =  preempt |
            TCC_Resume_Task((NU_TASK *) suspend_ptr -> mb_suspended_task,
                                                NU_MAILBOX_SUSPEND);

        /* Determine if the next is the same as the head pointer.  */
        if (next_ptr == mailbox -> mb_suspension_list)

            /* Clear the suspension pointer to signal the end of the list
               traversal.  */
            suspend_ptr =  NU_NULL;
        else

            /* Position the suspend pointer to the next suspend block.  */
            suspend_ptr =  next_ptr;

            /* Setup current protection pointer.  */
        TCT_Set_Current_Protect(&MBD_List_Protect);

        /* Unprotect the system protection.  */
        TCT_System_Unprotect();
    }

    /* Determine if preemption needs to occur.  */
    if (preempt)

        /* Transfer control to system to facilitate preemption.  */
        TCT_Control_To_System();

    /* Release protection against access to the list of created mailboxes.  */
    TCT_Unprotect();

    /* Return to user mode */
    NU_USER_MODE();

    /* Return a successful completion.  */
    return(NU_SUCCESS);
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      MBC_Send_To_Mailbox                                              */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function sends a 4-word message to the specified mailbox.   */
/*      If there are one or more tasks suspended on the mailbox for a    */
/*      message, the message is copied into the message area of the      */
/*      first task waiting and that task is resumed.  If the mailbox     */
/*      is full, suspension of the calling task is possible.             */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      Application                                                      */
/*      MBCE_Send_To_Mailbox                Error checking shell         */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      CSC_Place_On_List                   Place on suspend list        */
/*      CSC_Priority_Place_On_List          Place on priority list       */
/*      CSC_Remove_From_List                Remove from suspend list     */
/*      [HIC_Make_History_Entry]            Make entry in history log    */
/*      TCC_Resume_Task                     Resume a suspended task      */
/*      TCC_Suspend_Task                    Suspend calling task         */
/*      TCC_Task_Priority                   Pickup task's priority       */
/*      [TCT_Check_Stack]                   Stack checking function      */
/*      TCT_Control_To_System               Transfer control to system   */
/*      TCT_Current_Thread                  Pickup current thread pointer*/
/*      TCT_System_Protect                  Protect against system access*/
/*      TCT_Unprotect                       Release protection           */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      mailbox_ptr                         Mailbox control block pointer*/
/*      message                             Pointer to message to send   */
/*      suspend                             Suspension option if full    */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      NU_SUCCESS                          If service is successful     */
/*      NU_MAILBOX_FULL                     If mailbox is currently full */
/*      NU_TIMEOUT                          If timeout on service expires*/
/*      NU_MAILBOX_DELETED                  If mailbox is deleted during */
/*                                            suspension                 */
/*      NU_MAILBOX_RESET                    If mailbox is deleted during */
/*                                            suspension                 */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         DATE                    REMARKS                               */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      03-01-1994      Changed function interface to                    */
/*                        match the prototype, added                     */
/*                        register variable logic,                       */
/*                        optimized protection logic,                    */
/*                        resulting in version 1.1                       */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*                                                                       */
/*************************************************************************/
STATUS  MBC_Send_To_Mailbox(NU_MAILBOX *mailbox_ptr, VOID *message,
                                                        UNSIGNED suspend)
{

R1 MB_MCB      *mailbox;                    /* Mailbox control block ptr */
MB_SUSPEND      suspend_block;              /* Allocate suspension block */
R2 MB_SUSPEND  *suspend_ptr;                /* Pointer to suspend block  */
R3 UNSIGNED    *source_ptr;                 /* Pointer to source         */
R4 UNSIGNED    *destination_ptr;            /* Pointer to destination    */
TC_TCB         *task;                       /* Task pointer              */
STATUS          preempt;                    /* Preempt flag              */
STATUS          status;                     /* Completion status         */
NU_SUPERV_USER_VARIABLES

    /* Switch to supervisor mode */
    NU_SUPERVISOR_MODE();

    /* Move input mailbox pointer into internal pointer.  */
    mailbox =  (MB_MCB *) mailbox_ptr;


#ifdef  NU_ENABLE_STACK_CHECK

    /* Call stack checking function to check for an overflow condition.  */
    TCT_Check_Stack();

#endif

#ifdef  NU_ENABLE_HISTORY

    /* Make an entry that corresponds to this function in the system history
       log.  */
    HIC_Make_History_Entry(NU_SEND_TO_MAILBOX_ID, (UNSIGNED) mailbox,
                                       (UNSIGNED) message, (UNSIGNED) suspend);

#endif

    /* Initialize the status as successful.  */
    status =  NU_SUCCESS;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产九九视频一区二区三区| 91丨porny丨国产入口| 国产精品2024| 欧美日韩另类一区| 欧美国产丝袜视频| 青娱乐精品视频在线| 成人黄色大片在线观看| 日韩一级免费一区| 亚洲码国产岛国毛片在线| 国产麻豆视频精品| 91精品欧美福利在线观看| 亚洲欧美偷拍另类a∨色屁股| 日本vs亚洲vs韩国一区三区二区 | 亚洲欧美怡红院| 久久99日本精品| 欧美高清视频一二三区 | 91视视频在线观看入口直接观看www| 5月丁香婷婷综合| 一区二区成人在线视频| 99久久精品免费看| 欧美国产日产图区| 国产一区二区福利视频| 亚洲精品在线三区| 九九久久精品视频| 精品国产成人在线影院| 蜜臀av性久久久久蜜臀av麻豆| 在线观看www91| 亚洲最色的网站| 色猫猫国产区一区二在线视频| 亚洲国产成人午夜在线一区| 国产精品影视天天线| 26uuu精品一区二区在线观看| 五月婷婷另类国产| 91精品一区二区三区在线观看| 亚洲成人在线网站| 欧美日韩极品在线观看一区| 性做久久久久久| 91精品国产全国免费观看| 日日夜夜精品免费视频| 欧美精品在线一区二区| 天堂影院一区二区| 日韩精品中文字幕一区| 九色porny丨国产精品| 国产日韩av一区| 99热99精品| 夜夜揉揉日日人人青青一国产精品| 91福利视频网站| 五月天视频一区| 日韩精品最新网址| 国产99久久久国产精品潘金| 欧美国产精品劲爆| 91国产丝袜在线播放| 丝袜美腿亚洲色图| 欧美不卡在线视频| 成人在线一区二区三区| 一区二区三区欧美视频| 91精品欧美福利在线观看| 精品在线视频一区| 国产精品毛片大码女人| 在线亚洲人成电影网站色www| 五月天中文字幕一区二区| 久久女同性恋中文字幕| 91欧美一区二区| 日本vs亚洲vs韩国一区三区| 国产喂奶挤奶一区二区三区| 91精品福利视频| 精品一区二区免费| 亚洲女性喷水在线观看一区| 欧美日韩精品电影| 成人免费视频视频在线观看免费 | 欧美中文字幕亚洲一区二区va在线| 日韩精品亚洲专区| 国产精品天美传媒| 8v天堂国产在线一区二区| 国产精品88888| 亚洲成人动漫av| 中文字幕国产精品一区二区| 欧美日韩电影一区| 岛国精品在线观看| 青草国产精品久久久久久| 国产精品成人在线观看| 日韩免费一区二区| 欧美在线综合视频| 国产成人免费视频精品含羞草妖精 | 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧洲av色图| 精品盗摄一区二区三区| 欧美视频日韩视频在线观看| 国产激情视频一区二区在线观看 | 国产精品久久久久久久久免费丝袜| 欧美精品自拍偷拍动漫精品| 成人在线视频一区二区| 精品在线播放免费| 亚洲国产精品久久人人爱| 中文字幕第一区二区| 精品免费99久久| 在线观看91av| 欧美午夜电影网| 97精品视频在线观看自产线路二| 国产九色精品成人porny| 美女网站在线免费欧美精品| 一区二区三区中文在线观看| 国产精品私人自拍| 久久久99精品免费观看不卡| 91精品免费观看| 欧美日韩第一区日日骚| 欧美日韩在线播| 在线观看亚洲一区| 91黄视频在线| 色激情天天射综合网| 色综合久久综合中文综合网| 成人免费视频一区二区| 成a人片亚洲日本久久| 国产高清亚洲一区| 国产一区二区三区| 国产一区二区三区电影在线观看| 精品在线观看视频| 国产精品1024久久| 国产精品白丝jk白祙喷水网站| 久久精工是国产品牌吗| 精品一区二区三区免费| 国产福利视频一区二区三区| 粉嫩久久99精品久久久久久夜| 不卡电影一区二区三区| www.综合网.com| 日本电影亚洲天堂一区| 在线观看视频一区二区欧美日韩| 在线一区二区三区| 欧美一区二区三区性视频| 日韩欧美另类在线| 久久日韩粉嫩一区二区三区| 国产精品乱人伦| 亚洲免费在线看| 日韩va亚洲va欧美va久久| 蜜桃一区二区三区在线| 国产原创一区二区| jvid福利写真一区二区三区| 色噜噜夜夜夜综合网| 51午夜精品国产| 久久久不卡网国产精品一区| 国产片一区二区三区| 一区二区三区蜜桃| 免费欧美日韩国产三级电影| 粉嫩在线一区二区三区视频| 91传媒视频在线播放| 在线综合亚洲欧美在线视频| 久久久久久久久久久久久女国产乱| 国产精品国产a级| 亚洲图片欧美一区| 精品一区二区三区免费视频| 91色视频在线| 日韩欧美精品三级| 国产精品福利一区| 日韩成人av影视| 成人av电影在线网| 欧美日韩国产一区二区三区地区| 久久综合资源网| 伊人色综合久久天天人手人婷| 日韩激情av在线| 99视频精品在线| 欧美大片顶级少妇| 一区二区三区四区高清精品免费观看 | 国产精品水嫩水嫩| 日韩专区在线视频| 99久久久无码国产精品| 日韩欧美123| 亚洲欧美日韩综合aⅴ视频| 老司机一区二区| 欧美色视频一区| 亚洲欧洲成人精品av97| 国产一区二区三区高清播放| 91精品婷婷国产综合久久| 亚洲视频狠狠干| 国产成人精品免费在线| 91麻豆精品国产| 亚洲男女毛片无遮挡| 丰满岳乱妇一区二区三区| 日韩一级大片在线| 亚洲国产中文字幕| 一本色道久久加勒比精品| 国产亲近乱来精品视频| 激情五月婷婷综合网| 91 com成人网| 丝袜美腿成人在线| 欧美色图片你懂的| 有坂深雪av一区二区精品| 成人高清免费观看| 久久久精品中文字幕麻豆发布| 免费在线观看成人| 欧美一区二区播放| 日韩电影在线观看电影| 精品视频1区2区| 亚洲国产欧美在线人成| 91精品1区2区| 亚洲国产精品自拍| 欧美性做爰猛烈叫床潮| 亚洲国产中文字幕| 7777精品伊人久久久大香线蕉完整版| 亚洲黄色av一区| 欧美午夜精品一区二区三区|