--- tmp/mutella-0.4.1/mutella/main.cpp	Mon Jul  8 15:48:48 2002
+++ mutella-0.4.1/mutella/main.cpp	Sun Oct 27 19:59:20 2002
@@ -25,6 +25,7 @@
 #include "mutella.h"
 #include "structures.h"
 #include "controller.h"
+#include "property.h"
 #include "mui.h"
 #include "common.h"
 
@@ -48,6 +49,8 @@
 #include <execinfo.h>
 #endif
 
+MController* PController;
+
 extern "C" {
 
 #define MAX_BACKTRACE 128
@@ -219,6 +222,19 @@
 
 #endif //0
 
+void mutella_handle_sigusr1(int s)
+{
+  if (s != SIGUSR1)
+  {
+    fprintf(stderr, "Wrong signal %d, expected SIGUSR1.\n", s);
+    return;
+  } else {
+	fprintf(stderr, "Got sigusr1, rereading config.\n");
+	if(PController)
+	 PController->GetPropertyContainer()->Read("~/.mutella/mutellarc");
+  }
+}
+
 } /*extern "C"*/
 
 
@@ -242,6 +258,7 @@
     //signal(SIGSEGV, &mutella_handle_sigsegv);
     //signal(SIGCHLD, &mutella_handle_sigchld);
     //signal(SIGSEGV, &libpublic_segv_handler);
+    signal(SIGUSR1, &mutella_handle_sigusr1);
     //
     // set the random seed to start with
     srand(xtime());
@@ -249,6 +266,8 @@
     MController controller;
 	if (!controller.Init())
 		return EXIT_FAILURE;
+	else
+    		PController = &controller;
 
 	// start the controller functionality
     controller.Do();
