diff -ur aMule-2.3.1/src/amuled.cpp aMule-2.3.1.wx3/src/amuled.cpp
--- aMule-2.3.1/src/amuled.cpp	2011-07-13 17:00:12.000000000 +0200
+++ aMule-2.3.1.wx3/src/amuled.cpp	2014-01-19 13:55:50.904800356 +0100
@@ -423,7 +423,9 @@
 #ifndef __WXMSW__
 
 
+/*
 static EndProcessDataMap endProcDataMap;
+*/
 
 
 int CDaemonAppTraits::WaitForChild(wxExecuteData &execData)
@@ -449,6 +451,7 @@
 		wxSleep(1);
 		result = AmuleWaitPid(execData.pid, &status, WNOHANG, &msg);
 		if (result == 0) {
+		/*
 			// Add a WxEndProcessData entry to the map, so that we can
 			// support process termination
 			wxEndProcessData *endProcData = new wxEndProcessData();
@@ -456,6 +459,7 @@
 			endProcData->process = execData.process;
 			endProcData->tag = 0;
 			endProcDataMap[execData.pid] = endProcData;
+		*/
 
 			status = execData.pid;
 		} else {
@@ -480,6 +484,7 @@
 	msg << wxT("OnSignalChildHandler() has been called for child process with pid `") <<
 		siginfo->si_pid <<
 		wxT("'. ");
+/*
 	// Make sure we leave no zombies by calling waitpid()
 	int status = 0;
 	pid_t result = AmuleWaitPid(siginfo->si_pid, &status, WNOHANG, &msg);
@@ -503,6 +508,7 @@
 			msg << wxT(" Error: the child process pid is not on the pid map.");
 		}
 	}
+*/
 
 	// Log our passage here
 	AddDebugLogLineN(logGeneral, msg);
