Module: wine Branch: refs/heads/master Commit: 25dc6d912e70d0748da102b3227b93174ffb5b31 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=25dc6d912e70d0748da102b3...
Author: Alexandre Julliard julliard@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);