Fix (?) race conditions with closing channels and util.communicate