| 240 | } |
| 241 | |
| 242 | static cbm_daemon_bootstrap_ops_t bootstrap_fake_callbacks(bootstrap_fake_ops_t *fake) { |
| 243 | cbm_daemon_bootstrap_ops_t ops = { |
| 244 | .context = fake, |
| 245 | .cohort_acquire = bootstrap_fake_cohort_acquire, |
| 246 | .cohort_release = bootstrap_fake_cohort_release, |
| 247 | .probe = bootstrap_fake_probe, |
| 248 | .startup_lock_try_acquire = bootstrap_fake_lock, |
| 249 | .startup_lock_prepare_handoff = bootstrap_fake_handoff, |
| 250 | .startup_lock_release = bootstrap_fake_unlock, |
| 251 | .spawn_daemon = bootstrap_fake_spawn, |
| 252 | .visible_diagnostic = bootstrap_fake_diagnostic, |
| 253 | }; |
| 254 | return ops; |
| 255 | } |
| 256 | |
| 257 | static void *bootstrap_thread_execute(void *opaque) { |
| 258 | bootstrap_thread_call_t *call = opaque; |
no outgoing calls
no test coverage detected