Alexandre Julliard : widl: Clean output files when aborting on a signal.

Alexandre Julliard julliard at wine.codeweavers.com
Sat May 27 06:34:44 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 25dc6d912e70d0748da102b3227b93174ffb5b31
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=25dc6d912e70d0748da102b3227b93174ffb5b31

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Sat May 27 13:23:47 2006 +0200

widl: Clean output files when aborting on a signal.

---

 tools/widl/widl.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index b0589b1..c6c4a1c 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -152,6 +152,12 @@ static char *dup_basename_token(const ch
     return ret;
 }
 
+/* clean things up when aborting on a signal */
+static void exit_on_signal( int sig )
+{
+    exit(1);  /* this will call the atexit functions */
+}
+
 int main(int argc,char *argv[])
 {
   extern char* optarg;
@@ -161,6 +167,11 @@ int main(int argc,char *argv[])
   int opti = 0;
 
   signal(SIGSEGV, segvhandler);
+  signal( SIGTERM, exit_on_signal );
+  signal( SIGINT, exit_on_signal );
+#ifdef SIGHUP
+  signal( SIGHUP, exit_on_signal );
+#endif
 
   now = time(NULL);
 




More information about the wine-cvs mailing list