X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fconsole-unix.c;h=6a70b350085b9d7183412a63aaf9f9860fc28cf0;hb=c2022b34b7820821406d4e46df7868db89144f2c;hp=a344e396a742c6fc9ed4bec694621f0242947c15;hpb=4ec59639b74b37344513873532a12ec68c90f601;p=mono.git diff --git a/mono/metadata/console-unix.c b/mono/metadata/console-unix.c index a344e396a74..6a70b350085 100644 --- a/mono/metadata/console-unix.c +++ b/mono/metadata/console-unix.c @@ -17,6 +17,9 @@ #include #include #include +#ifdef HAVE_SYS_SELECT_H +# include +#endif #ifdef HAVE_SYS_TIME_H # include #endif @@ -31,6 +34,7 @@ #include #include #include +#include /* On solaris, curses.h must come before both termios.h and term.h */ #ifdef HAVE_CURSES_H @@ -272,8 +276,8 @@ mono_console_handle_async_ops (void) } static gboolean in_sigint; -static void -sigint_handler (int signo) + +MONO_SIGNAL_HANDLER_FUNC (static, sigint_handler, (int signo)) { int save_errno; MONO_ARCH_SAVE_REGS; @@ -291,8 +295,7 @@ sigint_handler (int signo) static struct sigaction save_sigcont, save_sigint, save_sigwinch; -static void -sigcont_handler (int signo, void *the_siginfo, void *data) +MONO_SIGNAL_HANDLER_FUNC (static, sigcont_handler, (int signo, void *the_siginfo, void *data)) { int unused; // Ignore error, there is not much we can do in the sigcont handler. @@ -308,8 +311,7 @@ sigcont_handler (int signo, void *the_siginfo, void *data) (*save_sigcont.sa_sigaction) (signo, the_siginfo, data); } -static void -sigwinch_handler (int signo, void *the_siginfo, void *data) +MONO_SIGNAL_HANDLER_FUNC (static, sigwinch_handler, (int signo, void *the_siginfo, void *data)) { int dims = terminal_get_dimensions (); if (dims != -1) @@ -358,7 +360,7 @@ console_set_signal_handlers () sigaction (SIGCONT, &sigcont, &save_sigcont); // Interrupt handler - sigint.sa_handler = sigint_handler; + sigint.sa_handler = (void *) sigint_handler; sigint.sa_flags = 0; sigemptyset (&sigint.sa_mask); sigaction (SIGINT, &sigint, &save_sigint); @@ -452,7 +454,7 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardow if (dims == -1){ int cols = 0, rows = 0; - char *str = g_getenv ("COLUMNS"); + const char *str = g_getenv ("COLUMNS"); if (str != NULL) cols = atoi (str); str = g_getenv ("LINES");