summaryrefslogtreecommitdiff
path: root/sal
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-06-20 16:56:22 +0200
committerStephan Bergmann <sbergman@redhat.com>2012-06-20 18:06:38 +0200
commit796d273925c92eb91cc6ebef5caad01ccf3308b3 (patch)
tree1591553a09765e685fabb11c84765f00c18016bf /sal
parentbf729a27bdc4c5b9a3643862695d676f1324b20a (diff)
Clarify SIGHUP behavior
The combination of marking it as ACT_IGNORE and osl_Signal_Terminate was strange, as osl_Signal_Terminate caused SalMainPipeExchangeSignal_impl (desktop/source/app/officeipcthread.cxx) to call DisableOfficeIPCThread, but ACT_IGNORE (instead of ACT_EXIT, like other signals marked osl_Signal_Terminate) caused the process to continue running. The net effect was that calling an additional soffice instance after a SIGHUP would no longer connect to the first instance, but instead would lead to two soffice instances running simultaneously on the same UserInstallation. Marking SIGHUP as ACT_HIDE most closely resembles the old behavior (of having ~no effect). Other options would be to mark it as ACT_IGNORE and osl_Signal_System or as ACT_EXIT and osl_Signal_Terminate, which would both result in instant termination. I do not know if that wouldn't actually be better. Change-Id: Id1ee7c1108765301e6010e0e05d6c1ff5894a414
Diffstat (limited to 'sal')
-rw-r--r--sal/osl/unx/signal.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sal/osl/unx/signal.c b/sal/osl/unx/signal.c
index 57263c7ba9a2..86975221db1a 100644
--- a/sal/osl/unx/signal.c
+++ b/sal/osl/unx/signal.c
@@ -105,7 +105,7 @@ static struct SignalAction
void (*Handler)(int);
} Signals[] =
{
- { SIGHUP, ACT_IGNORE, NULL }, /* hangup */
+ { SIGHUP, ACT_HIDE, NULL }, /* hangup */
{ SIGINT, ACT_EXIT, NULL }, /* interrupt (rubout) */
{ SIGQUIT, ACT_EXIT, NULL }, /* quit (ASCII FS) */
{ SIGILL, ACT_SYSTEM, NULL }, /* illegal instruction (not reset when caught) */
@@ -973,7 +973,6 @@ void SignalHandlerFunction(int Signal)
case SIGINT:
case SIGTERM:
case SIGQUIT:
- case SIGHUP:
Info.Signal = osl_Signal_Terminate;
break;