From 19ed9cb84eead00bb57e70973e511e0741a02d23 Mon Sep 17 00:00:00 2001 From: Alexey Shilov Date: Wed, 22 Jun 2011 15:24:10 +0300 Subject: [PATCH] Fixes: NB#267579 - Socket file descriptor leaks in applauncherd.bin RevBy: Pertti Kellomaki, Juha Lintula --- debian/changelog | 2 +- src/launcherlib/daemon.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 34de9d8..a9aab90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ applauncherd (0.30.4) unstable; urgency=low - * + * Fixes: NB#267579 - Socket file descriptor leaks in applauncherd.bin -- Juha Lintula Wed, 22 Jun 2011 13:33:58 +0300 diff --git a/src/launcherlib/daemon.cpp b/src/launcherlib/daemon.cpp index 6612eca..6bd6b71 100644 --- a/src/launcherlib/daemon.cpp +++ b/src/launcherlib/daemon.cpp @@ -529,6 +529,13 @@ void Daemon::reapZombies() Logger::logDebug("Daemon: Booster (pid=%d) was terminated due to signal %d\n", pid, signal); Logger::logDebug("Daemon: Killing invoker process (pid=%d) by signal %d..\n", invokerPid, signal); + FdMap::iterator fd = m_boosterPidToInvokerFd.find(pid); + if (fd != m_boosterPidToInvokerFd.end()) + { + close((*fd).second); + m_boosterPidToInvokerFd.erase(fd); + } + killProcess(invokerPid, signal); }