have an abort pipe where a caller can decide to shut things down and exit gracefully