X-Git-Url: http://winboard.nl/cgi-bin?p=polyglot.git;a=blobdiff_plain;f=gui.cpp;h=354d276db72efe8693a98086948cae4020aa0ed1;hp=9905800e34f63da2fd9bd1be4e04bf54a5b91682;hb=6442b61046f46f65bfc4bf0b3727abe2dc27acb8;hpb=e7a2abd9bd4fce9ebbd70793b00d9d5f99886348 diff --git a/gui.cpp b/gui.cpp index 9905800..354d276 100644 --- a/gui.cpp +++ b/gui.cpp @@ -3,6 +3,7 @@ // includes #include +#include #include "gui.h" #include "main.h" @@ -17,18 +18,35 @@ gui_t GUI[1]; // functions +// sig_quit() + +static void sig_quit(int dummy){ + my_log("POLYGLOT *** SIGINT Received ***\n"); + quit(); +} + // gui_init() void gui_init(gui_t *gui){ - #ifdef _WIN32 + +// the following is nice if the "GUI" is a console! + signal(SIGINT,sig_quit); +#ifdef _WIN32 + signal(SIGTERM,SIG_IGN); +#ifdef SIGPIPE + signal(SIGPIPE,SIG_IGN); +#endif +#endif + +#ifdef _WIN32 (gui->pipeStdin).Open(); #else gui->io->in_fd = STDIN_FILENO; gui->io->out_fd = STDOUT_FILENO; gui->io->name = "GUI"; - + io_init(gui->io); #endif }