fn run_blocking_thread(idx: usize, inner: Arc<Inner>, exit: Sender<usize>)