1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#define _WIN32_WINNT 0x0501 /* Cf below, we restrict to */
#include <caml/mlvalues.h>
#include <caml/memory.h>
#include <windows.h>
/* Win32 emulation of a kill -2 (SIGINT) */
/* It appears that the documentation for SetConsoleCtrlHandler used in the
prior code (f5276a11) is incorrect. When it's present, it causes some of
the strange behavior described in #13550.
This code signals all processes in the process group (multiple coqidetops) and coqide.
because the console is shared. Coqide.win_interrupt is used to ignore the signal sent
to CoqIDE. */
CAMLprim value win32_interrupt(value pseudopid) {
CAMLparam1(pseudopid);
GenerateConsoleCtrlEvent(CTRL_C_EVENT,0); /* signal each process in the process group */
CAMLreturn(Val_unit);
}
|