summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hatina <phatina@redhat.com>2012-05-03 12:51:03 +0200
committerPeter Hatina <phatina@redhat.com>2012-05-03 12:51:03 +0200
commit459a1ab407cf42e3612e200ad2f83230f1bb6e96 (patch)
tree0227626ef08c876cdb18216e1194b9c67499f41d
parentfc52cb81a96f223811caa002b35beadc6aa85939 (diff)
fix signal handling when disconnecting
-rw-r--r--SpiceXPI/src/plugin/plugin.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/SpiceXPI/src/plugin/plugin.cpp b/SpiceXPI/src/plugin/plugin.cpp
index d12d02c..906c985 100644
--- a/SpiceXPI/src/plugin/plugin.cpp
+++ b/SpiceXPI/src/plugin/plugin.cpp
@@ -598,6 +598,8 @@ void nsPluginInstance::Connect()
m_pid_controller = fork();
if (m_pid_controller == 0)
{
+ setpgrp();
+
close(pipe_fds[1]);
pipe_fds[1] = -1;
@@ -710,7 +712,7 @@ void nsPluginInstance::Show()
void nsPluginInstance::Disconnect()
{
if (m_pid_controller > 0)
- kill(m_pid_controller, SIGTERM);
+ kill(-m_pid_controller, SIGTERM);
}
void nsPluginInstance::ConnectedStatus(PRInt32 *retval)