| 2556 | static int unp_marked; |
| 2557 | |
| 2558 | static void |
| 2559 | unp_remove_dead_ref(struct filedescent **fdep, int fdcount) |
| 2560 | { |
| 2561 | struct unpcb *unp; |
| 2562 | struct file *fp; |
| 2563 | int i; |
| 2564 | |
| 2565 | /* |
| 2566 | * This function can only be called from the gc task. |
| 2567 | */ |
| 2568 | KASSERT(taskqueue_member(taskqueue_thread, curthread) != 0, |
| 2569 | ("%s: not on gc callout", __func__)); |
| 2570 | UNP_LINK_LOCK_ASSERT(); |
| 2571 | |
| 2572 | for (i = 0; i < fdcount; i++) { |
| 2573 | fp = fdep[i]->fde_file; |
| 2574 | if ((unp = fptounp(fp)) == NULL) |
| 2575 | continue; |
| 2576 | if ((unp->unp_gcflag & UNPGC_DEAD) == 0) |
| 2577 | continue; |
| 2578 | unp->unp_gcrefs--; |
| 2579 | } |
| 2580 | } |
| 2581 | |
| 2582 | static void |
| 2583 | unp_restore_undead_ref(struct filedescent **fdep, int fdcount) |
nothing calls this directly
no test coverage detected