Hello This won't solve your problem entirely, but you could alter the max_execution_time (in php.ini) to a lower value so that it times out quickly when your device is disconnected. Mark "(Gemma Montero)" <gmontero@xxxxxxx> wrote in message news:42C1115D.7020600@xxxxxxxxxx > I'm trying to do a script which write and read to/from COM1. > All works fine when something is connected on COM1, but when I > disconnect the rs232 cable or it fails, the script try to do fgets and > never stop. > set_mode command works, write command works, but fgets don't say that > nothing is connected, and the script continue trying to read from COM1. > I have to kill the php task to liberate COM1 > > How can I solve this problem? > > Code: > //-------------------------------------------------------------------------- ------------------------------------- > //-------------------------------------------------------------------------- ------------------------------------- > //configuro el puerto > $set_mode = "MODE COM$numcom: BAUD=38400 PARITY=N DATA=8 STOP=1 TO=OFF > XON=OFF ODSR=OFF OCTS=OFF DTR=OFF RTS=OFF IDSR=OFF"; > exec($set_mode, $output, $result); > > #compruebo el resultado del exec comando mode > switch ($result) { > case 0: > echo "COM$numcom configurado correctamente.<br>"; > break; > default : > echo "No se ha podido configurar el COM$numcom.<br>"; > $error_configuracion = true; > } > if (!$error_configuracion) { > //abro el puerto > $serial_port = fopen("COM$numcom", "wb+"); > > if (isset($serial_port)) { > //si ha podido abrir la conexion ejecuto comandos y leo sus > respuestas > > $comando = "MICOMANDO"; > //Ejecuto el comando > $result = fwrite($serial_port, "* $comando\r\n"); > //echo $result; > if (!$result) { > //no puede escribir > echo "Error escribiendo en COM$numcom <br>"; > } else { > //voy leyendo el resultado de mi comando > $buffer = fgets($serial_port, 1024); > while (trim($buffer)!="") { > //echo "BUFFER=$buffer<br>"; > $res .= ";$buffer"; > $buffer = fgets($serial_port, 1024); > } > //echo "*$res*<br>"; > } > } > } > //-------------------------------------------------------------------------- ------------------------------------- > //-------------------------------------------------------------------------- ------------------------------------- > > thanks -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php