fix: use CancelIo to replace shutdown in windows