¿A qué se traduce SIGINT en la API nativa de NT?
-
28-10-2019 - |
Pregunta
Windows es compatible con SIGINT en aplicaciones de consola en respuesta a Ctrl-C.Esto implica que Windows tiene funcionalidad para interrumpir un hilo en ejecución desde un hilo remoto (¡incluso procesar!) E invocar un manejador de señales.
¿Exactamente cómo funciona esto en el nivel de la API nativa de NT?¿Se puede utilizar esta API de interrupción de subprocesos para otros fines en el espacio de usuario?
Solución
Según http:// msdn.Microsoft.com/en-us/library/xdkz3x12(v=vs.71).aspx , un SIGINT hace que se cree un nuevo hilo para manejar la interrupción.
Entonces parece que realmente no "interrumpe" ningún hilo en funcionamiento.Puede lograr el mismo efecto simplemente desove su propio hilo.
Hay más comentarios aquí:
Otros consejos
Siempre puede suspender el hilo de destino, arreglar el contexto para ejecutar su procedimiento y luego reanudarlo.Es feo, pero funcionaría si quisieras interrumpir un hilo para ejecutar un procedimiento.
La consola y el controlador CTRL + C son construcciones de Win32 y realmente no existen en el nivel de la API nativa.