Antes de comenzar, quiero aclarar que esta no es una herramienta de línea de comandos, sino una aplicación que acepta comandos a través de su propia interfaz de línea de comandos.Cómo manejar una señal ctrl-break en una interfaz de línea de comandos
Edición: Debo pedir disculpas por mi explicación de antes, aparentemente no hice un muy buen trabajo al explicarla. Una vez más ...
Estoy construyendo una aplicación de interfaz de línea de comandos que acepta comandos de un usuario. Tengo una configuración de manejador de señal para captar las señales, que luego establece una bandera que necesito para terminar la aplicación. El problema que tengo es que todas las funciones de la consola que puedo encontrar bloquean, lo que significa que no puedo detectar que necesito salir de mi bucle de procesamiento de la consola hasta que el usuario presiona una tecla (o ingresar, dependiendo de la función))
¿Hay alguna forma estándar de interacción con la consola sin bloque, o hay una forma elegante de estructurar el programa para que si acabo de terminar el hilo de señal, todo se maneje y se libere correctamente (por favor no entiendo mal esto, sé cómo se podría hacer esto bloqueando y soltando los recursos del hilo de señalización, pero esto podría ser complicado, así que preferiría evitarlo)
Espero que esa explicación tenga más sentido ...
Nota: en Windows, haga clic en el botón de cierre elevará código sig 'SIGBREAK' (ctrl- descanso) – 56ka