| 1301 | } |
| 1302 | |
| 1303 | static struct itimer * |
| 1304 | itimer_find(struct proc *p, int timerid) |
| 1305 | { |
| 1306 | struct itimer *it; |
| 1307 | |
| 1308 | PROC_LOCK_ASSERT(p, MA_OWNED); |
| 1309 | if ((p->p_itimers == NULL) || |
| 1310 | (timerid < 0) || (timerid >= TIMER_MAX) || |
| 1311 | (it = p->p_itimers->its_timers[timerid]) == NULL) { |
| 1312 | return (NULL); |
| 1313 | } |
| 1314 | ITIMER_LOCK(it); |
| 1315 | if ((it->it_flags & ITF_DELETING) != 0) { |
| 1316 | ITIMER_UNLOCK(it); |
| 1317 | it = NULL; |
| 1318 | } |
| 1319 | return (it); |
| 1320 | } |
| 1321 | |
| 1322 | int |
| 1323 | kern_ktimer_delete(struct thread *td, int timerid) |
no outgoing calls
no test coverage detected