| diff -uNr partimage-0.6.6.orig/src/server/partimaged-main.cpp partimage-0.6.6/src/server/partimaged-main.cpp |
| --- partimage-0.6.6.orig/src/server/partimaged-main.cpp 2006-04-22 16:24:14.000000000 +0200 |
| +++ partimage-0.6.6/src/server/partimaged-main.cpp 2008-01-14 23:30:21.000000000 +0100 |
| @@ -98,6 +98,11 @@ |
| else if (signo == SIGINT) |
| { |
| g_bSigInt = true; |
| + delete g_Server; |
| + delete g_Window; |
| + g_Server = NULL; |
| + g_Window = NULL; |
| + exit(0); |
| } |
| else if (signo == SIGSEGV) |
| { |
| @@ -235,7 +240,7 @@ |
| case 'd': |
| if (chdir(optarg) != 0) |
| { |
| - printf("%s: %s\n", optarg, strerror(errno)); |
| + printf("Directory %s: %s\n", optarg, strerror(errno)); |
| exit(-1); |
| } |
| break; |
| @@ -313,9 +318,9 @@ |
| #endif |
| |
| // register signals |
| -// signal(SIGTERM, catch_sigint); |
| -// signal(SIGINT, catch_sigint); |
| -// signal(SIGSEGV, catch_sigint); // segmentation fault |
| + signal(SIGTERM, catch_sigint); |
| + signal(SIGINT, catch_sigint); |
| + signal(SIGSEGV, catch_sigint); // segmentation fault |
| // signal(SIGHUP, catch_sigint); |
| // signal(SIGQUIT, catch_sigint); |
| // signal(SIGCHLD, catch_sigint); |