| 518 | } |
| 519 | |
| 520 | void |
| 521 | epoch_exit(epoch_t epoch) |
| 522 | { |
| 523 | epoch_record_t er; |
| 524 | |
| 525 | INIT_CHECK(epoch); |
| 526 | er = epoch_currecord(epoch); |
| 527 | ck_epoch_end(&er->er_record, NULL); |
| 528 | #ifdef INVARIANTS |
| 529 | MPASS(er->er_td == curthread); |
| 530 | if (er->er_record.active == 0) |
| 531 | er->er_td = NULL; |
| 532 | #endif |
| 533 | critical_exit(); |
| 534 | } |
| 535 | |
| 536 | /* |
| 537 | * epoch_block_handler_preempt() is a callback from the CK code when another |
no test coverage detected