* Marks the end of an epoch-protected section. Returns true if no more * sections exist for the caller. */
| 171 | * sections exist for the caller. |
| 172 | */ |
| 173 | CK_CC_FORCE_INLINE static bool |
| 174 | ck_epoch_end(ck_epoch_record_t *record, ck_epoch_section_t *section) |
| 175 | { |
| 176 | |
| 177 | ck_pr_fence_release(); |
| 178 | ck_pr_store_uint(&record->active, record->active - 1); |
| 179 | |
| 180 | if (section != NULL) |
| 181 | return _ck_epoch_delref(record, section); |
| 182 | |
| 183 | return record->active == 0; |
| 184 | } |
| 185 | |
| 186 | /* |
| 187 | * Defers the execution of the function pointed to by the "cb" |
no test coverage detected