diff --git a/src/signal_handler.c b/src/signal_handler.c index 89a6c4af883b332a4b2f0102bcbbda18d5831cd6..e3d1b58ec3ce6281e001b9c8fabb2da59ee3a8e4 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -22,7 +22,7 @@ #include "builtin_functions.h" #include <signal.h> -RCSID("$Id: signal_handler.c,v 1.71 1998/06/25 15:02:56 grubba Exp $"); +RCSID("$Id: signal_handler.c,v 1.72 1998/06/30 21:00:00 grubba Exp $"); #ifdef HAVE_PASSWD_H # include <passwd.h> @@ -715,6 +715,8 @@ struct perishables static void free_perishables(struct perishables *storage) { + exit_threads_disable(NULL); + if(storage->env) free((char *)storage->env); if(storage->argv) free((char *)storage->argv); @@ -731,8 +733,6 @@ static void free_perishables(struct perishables *storage) if(storage->wanted_gids_array) free_array(storage->wanted_gids_array); #endif - - exit_threads_disable(NULL); } #endif