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 }