summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Ramme <kr@openoffice.org>2000-10-31 16:45:18 +0000
committerKay Ramme <kr@openoffice.org>2000-10-31 16:45:18 +0000
commite6886b3d48277b9ec2a2d3e1096300478d2c1de8 (patch)
tree78cd44fac37ee33501827a6e75b7f50e9b5bf02d
parent60a6c1b5b9f4121cc85154aad96f3d1b8dd6e813 (diff)
#78167# WINCH signal handler only set for office application
-rw-r--r--sal/osl/unx/signal.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sal/osl/unx/signal.c b/sal/osl/unx/signal.c
index 010f3f243..55df8b317 100644
--- a/sal/osl/unx/signal.c
+++ b/sal/osl/unx/signal.c
@@ -2,9 +2,9 @@
*
* $RCSfile: signal.c,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: kr $ $Date: 2000-10-23 13:44:05 $
+ * last change: $Author: kr $ $Date: 2000-10-31 17:45:18 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -139,6 +139,7 @@ static oslMutex SignalListMutex;
static oslSignalHandlerImpl* SignalList;
static sal_Bool bDoHardKill = sal_False;
static sal_Bool bSetSEGVHandler = sal_False;
+static sal_Bool bSetWINCHHandler = sal_False;
static void SignalHandlerFunction(int);
extern oslProcessError SAL_CALL osl_psz_getExecutableFile(sal_Char* pszBuffer, sal_uInt32 Max);
@@ -150,7 +151,6 @@ static sal_Bool InitSignal()
struct sigaction act;
struct sigaction oact;
- /* Portal Demo HACK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
char ProgFile[512];
if ((osl_psz_getExecutableFile(ProgFile, sizeof(ProgFile)) == osl_Process_E_None) &&
@@ -171,10 +171,10 @@ static sal_Bool InitSignal()
// the office sets the signal handler during startup
// java can than overwrite it, if needed
bSetSEGVHandler = sal_True;
- }
-
- /* Portal Demo HACK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
+ // WORKAROUND FOR WINCH HANDLER (SEE ABOVE)
+ bSetWINCHHandler = sal_True;
+ }
SignalListMutex = osl_createMutex();
@@ -187,7 +187,8 @@ static sal_Bool InitSignal()
for (i = 0; i < NoSignals; i++)
{
/* hack: stomcatd is attaching JavaVM wich dont work with an sigaction(SEGV) */
- if (bSetSEGVHandler || (Signals[i].Signal != SIGSEGV))
+ if ((bSetSEGVHandler || Signals[i].Signal != SIGSEGV)
+ && (bSetWINCHHandler || Signals[i].Signal != SIGWINCH))
{
if (Signals[i].Action != ACT_SYSTEM)
{