run_in_thread now uses non-blocking command pipe when called from fiber