 	}
 
 	public func closeReader() {
-		#if os(macOS)
 		readIO.close(flags: .stop)
 		readQueue.sync {}
-		#endif
 	}
 
 	/// Call only when you know you've finished writing data, but ffmpeg is still encoding, or has data we haven't read

		self.ffmpeg = ffmpeg
		self.readPipe = readPipe
		self.writePipe = writePipe
		#if os(macOS)
		self.readIO = DispatchIO(type: .stream, fileDescriptor: writePipe.fileHandleForReading.fileDescriptor,
			queue: readQueue,
			cleanupHandler: {_ in })

		readIO.setLimit(lowWater: 1)
		#endif

		self.ffmpeg.launch()
	}

	public let readPipe: Pipe
	public let writePipe: Pipe

	private let readIO: DispatchIO
	private let readQueue = DispatchQueue(label: "discordVoiceEncoder.readQueue")
	private let writeQueue = DispatchQueue(label: "discordVoiceEncoder.writeQueue")

