# HG changeset patch # User Michael Spacefalcon # Date 1403489582 0 # Node ID fd1729fd979e81b5ebf381e735babd614c3c7c7e # Parent b55882290007839bdf55ba4db382def76b17878b os_sem_fl.c: os_DestroySemaphore() done diff -r b55882290007 -r fd1729fd979e gsm-fw/gpf/osl/os_sem_fl.c --- a/gsm-fw/gpf/osl/os_sem_fl.c Mon Jun 23 01:55:31 2014 +0000 +++ b/gsm-fw/gpf/osl/os_sem_fl.c Mon Jun 23 02:13:02 2014 +0000 @@ -151,3 +151,22 @@ } return(0); } + +GLOBAL LONG +os_DestroySemaphore(OS_HANDLE TaskHandle, OS_HANDLE SemHandle) +{ + STATUS sts; + + sts = NU_Obtain_Semaphore(&SemSemCB, NU_SUSPEND); + if (!SemTable[SemHandle].Name[0]) { +error_out: if (sts == NU_SUCCESS) + NU_Release_Semaphore(&SemSemCB); + return(OS_ERROR); + } + if (NU_Delete_Semaphore(&SemTable[SemHandle].SemCB) != NU_SUCCESS) + goto error_out; + SemTable[SemHandle].Name[0] = 0; + if (sts == NU_SUCCESS) + NU_Release_Semaphore(&SemSemCB); + return(OS_OK); +}