FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/gpf/osl/os_sem_fl.c @ 447:b55882290007
os_sem_fl.c: os_FindSuspendingSema() done
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 23 Jun 2014 01:55:31 +0000 |
parents | 57f8e2b747c4 |
children | fd1729fd979e |
comparison
equal
deleted
inserted
replaced
446:57f8e2b747c4 | 447:b55882290007 |
---|---|
126 *SemHandle = i; | 126 *SemHandle = i; |
127 return(OS_OK); | 127 return(OS_OK); |
128 } | 128 } |
129 return(OS_ERROR); | 129 return(OS_ERROR); |
130 } | 130 } |
131 | |
132 GLOBAL unsigned char * | |
133 os_FindSuspendingSema(unsigned int *tcb) | |
134 { | |
135 USHORT i; | |
136 SM_SUSPEND *susp, *susp_loopchk; | |
137 | |
138 for (i = 1; i <= MaxSemaphores; i++) { | |
139 if (!SemTable[i].Name[0]) | |
140 continue; | |
141 susp = SemTable[i].SemCB.sm_suspension_list; | |
142 if (!susp) | |
143 continue; | |
144 if (susp->sm_suspended_task == (NU_TASK *)tcb) | |
145 return(SemTable[i].SemCB.sm_name); | |
146 susp = (SM_SUSPEND *)susp->sm_suspend_link.cs_next; | |
147 for (susp_loopchk = susp; susp != susp_loopchk; | |
148 susp = (SM_SUSPEND *)susp->sm_suspend_link.cs_next) | |
149 if (susp->sm_suspended_task == (NU_TASK *)tcb) | |
150 return(SemTable[i].SemCB.sm_name); | |
151 } | |
152 return(0); | |
153 } |