From 263f0b11d85144e76975823026443eafe4d9649b 2012-02-17 09:59:38 From: HanzZ Date: 2012-02-17 09:59:38 Subject: [PATCH] Call setsid always when spawning backend --- diff --git a/spectrum/src/sample2.cfg b/spectrum/src/sample2.cfg index 508395e9ceb4c368d8c3b278a4629beeb417a271..981124b98cedbc9b26af78ed4dae3771155e5de8 100644 --- a/spectrum/src/sample2.cfg +++ b/spectrum/src/sample2.cfg @@ -41,7 +41,7 @@ users_per_backend=10 backend=/usr/bin/spectrum2_libpurple_backend #backend=/usr/bin/spectrum2_libircclient-qt_backend # For skype: -#backend=/usr/bin/setsid /usr/bin/xvfb-run -n BACKEND_ID -s "-screen 0 10x10x8" -f /tmp/x-skype-gw /usr/bin/spectrum2_skype_backend +#backend=/usr/bin/xvfb-run -n BACKEND_ID -s "-screen 0 10x10x8" -f /tmp/x-skype-gw /usr/bin/spectrum2_skype_backend # Libpurple protocol-id for spectrum_libpurple_backend protocol=prpl-jabber diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 7a876383023340981a90f96c2f071cf74600da37..756cff77eb544007c9356811e50be538aa868362 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -157,6 +157,7 @@ static unsigned long exec_(std::string path, const char *host, const char *port, // fork and exec pid_t pid = fork(); if ( pid == 0 ) { + setsid(); // child process exit(execv(argv[0], argv)); } else if ( pid < 0 ) {