Index: trunk/src/build_run.c =================================================================== --- trunk/src/build_run.c (revision 4865) +++ trunk/src/build_run.c (revision 4866) @@ -25,6 +25,7 @@ */ #include "config.h" +#include #include #include "conf_core.h" #include "board.h" @@ -143,3 +144,37 @@ return pcb_get_user_name(); } +void pcb_catch_signal(int Signal) +{ + const char *s; + + switch (Signal) { +#ifdef SIGHUP + case SIGHUP: + s = "SIGHUP"; + break; +#endif + case SIGINT: + s = "SIGINT"; + break; +#ifdef SIGQUIT + case SIGQUIT: + s = "SIGQUIT"; + break; +#endif + case SIGABRT: + s = "SIGABRT"; + break; + case SIGTERM: + s = "SIGTERM"; + break; + case SIGSEGV: + s = "SIGSEGV"; + break; + default: + s = "unknown"; + break; + } + pcb_message(PCB_MSG_ERROR, "aborted by %s signal\n", s); + exit(1); +} Index: trunk/src/build_run.h =================================================================== --- trunk/src/build_run.h (revision 4865) +++ trunk/src/build_run.h (revision 4866) @@ -33,3 +33,5 @@ const char *pcb_author(void); +/* catches signals which abort the program */ +void pcb_catch_signal(int Signal); Index: trunk/src/error.c =================================================================== --- trunk/src/error.c (revision 4865) +++ trunk/src/error.c (revision 4866) @@ -31,7 +31,6 @@ #include #include -#include #include "data.h" #include "error.h" @@ -131,41 +130,3 @@ pcb_message(PCB_MSG_DEFAULT, _("Can't change working directory to\n" " '%s'\nchdir() returned: '%s'\n"), utf8, strerror(errno)); free(utf8); } - -/* --------------------------------------------------------------------------- - * catches signals which abort the program - */ -void pcb_catch_signal(int Signal) -{ - const char *s; - - switch (Signal) { -#ifdef SIGHUP - case SIGHUP: - s = "SIGHUP"; - break; -#endif - case SIGINT: - s = "SIGINT"; - break; -#ifdef SIGQUIT - case SIGQUIT: - s = "SIGQUIT"; - break; -#endif - case SIGABRT: - s = "SIGABRT"; - break; - case SIGTERM: - s = "SIGTERM"; - break; - case SIGSEGV: - s = "SIGSEGV"; - break; - default: - s = "unknown"; - break; - } - pcb_message(PCB_MSG_ERROR, "aborted by %s signal\n", s); - exit(1); -} Index: trunk/src/error.h =================================================================== --- trunk/src/error.h (revision 4865) +++ trunk/src/error.h (revision 4866) @@ -52,7 +52,6 @@ void pcb_popen_error_message(const char *); void pcb_opendir_error_message(const char *); void pcb_chdir_error_message(const char *); -void pcb_catch_signal(int); void pcb_trace(const char *Format, ...); #endif Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 4865) +++ trunk/src/main.c (revision 4866) @@ -46,6 +46,7 @@ #include "free_atexit.h" #include "polygon.h" #include "buildin.h" +#include "build_run.h" #include "flag_str.h" #include "plugins.h" #include "plug_footprint.h"