Java serialport cierra bloques

e comunico con una unidad para controlar una antena de satélite a través de una conexión en serie.

Apertura de una conexión con el dispositivo serie:

import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;

portIdentifier = CommPortIdentifier.getPortIdentifier(device);
serialPort = (SerialPort) portIdentifier.open(name, 
serialPort.setSerialPortParams(baudrate, databits, stopbits, parity);
serialPort.setFlowControlMode(flowMode);

bufferedReader = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
outputStream = serialPort.getOutputStream();

Si la unidad no está disponible, tengo que borrar la transmisión antes de poder enviar nuevos comandos, una vez que el dispositivo vuelva a funcionar. Pero este método claro en el flujo de entrada / salida bloquea si el dispositivo está inactivo. También cerrando las transmisiones o cerrando los bloques SerialDevice.

¿Hay alguna forma de cerrar / borrar estas transmisiones o SerialDevice sin bloquear?

bufferedRead.close(); // blocks until device is up again
outputStream.close(); // blocks until device is up again
serialPort.close(); // blocks until device is up again

Respuestas a la pregunta(1)

Su respuesta a la pregunta