Estoy desarrollando una aplicación de Windows Forms para realizar algunas operaciones en un dispositivo conectado a través de USB. Para todas las operaciones como lectura, escritura y otras cosas, tenemos una biblioteca personalizada.Detener un hilo atascado en una llamada de bloqueo
La operación de escritura se realiza cuando el usuario pulsa un botón.
Para leer, se crea un hilo separado. El problema con la biblioteca disponible es que la llamada de Lectura está bloqueando y tiene el tiempo de espera INFINITO.
En caso de fallo de conexión, este hilo sobresale en la llamada a la función Leer ya que esta función se rompe solo si recibe datos.
¿Cuál podría ser la manera de matar a este hilo en tal escenario? Thread.Abort() no está funcionando.
Estoy usando C# para esta programación.
Si la "biblioteca personalizada" no proporciona * cualquier * significa que cancelar un bloqueo de lectura en un error de conexión, se debe tirar a la basura y usar algo diferente, la verdad. – Clemens
Lo sé .... Ojalá pudiera ... Pero lo mismo es el caso con la clase predeterminada de puerto serie de C# ... La operación de lectura se bloqueará en la conexión fallida, si configuro el tiempo de espera en Infinte. – Swanand
Podría intentar cerrar el "manejador" a lo que está tratando de leer ... luego se cancelará la lectura, supongo ... y su hilo, dependiendo de cómo esté escrito, puede salir. –