summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Mainz <roland.mainz@nrubsig.org>2004-06-19 21:56:01 +0000
committerRoland Mainz <roland.mainz@nrubsig.org>2004-06-19 21:56:01 +0000
commitdd831c7a5c1b0c540a78350aadaeb34a8aa67395 (patch)
treed8001270dc8fea1fad1e53a3ca3f09f2328a603a
parentda78a4ddd833f78baf1d2579a1adea8208016ddb (diff)
Refix for http://freedesktop.org/bugzilla/show_bug.cgi?id=764 : Rework
previous solution and make Xprt to default to "-noreset" (the default of Solaris version of Xprt) and add a "-reset" option which can be used to restore the default behaviour on demand.
-rw-r--r--Xprint/Init.c6
-rw-r--r--os/utils.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/Xprint/Init.c b/Xprint/Init.c
index 6c3de7550..77d5edd0c 100644
--- a/Xprint/Init.c
+++ b/Xprint/Init.c
@@ -295,6 +295,8 @@ static Bool xprintInitGlobalsCalled = FALSE;
*/
void XprintInitGlobals(void)
{
+ extern char dispatchExceptionAtReset; /* defined in Xserver/dix/dispatch.c */
+
xprintInitGlobalsCalled = TRUE;
#ifdef SMART_SCHEDULE
@@ -315,6 +317,10 @@ void XprintInitGlobals(void)
* Xprt's default BIGREQUESTS extension buffer size should be 8MB")
*/
maxBigRequestSize = (8*1048576)-1;
+
+ /* Xprt should not reset by default when the last client exists
+ * (default for Xprt is |0|, video Xservers use |DE_RESET|) */
+ dispatchExceptionAtReset = 0;
}
/*
diff --git a/os/utils.c b/os/utils.c
index 51931ae4c..30dcd5f73 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/os/utils.c,v 1.1.4.6.2.4.6.3 2004/04/20 03:27:09 gisburn Exp $ */
+/* $XdotOrg: xc/programs/Xserver/os/utils.c,v 1.2 2004/04/23 19:54:28 eich Exp $ */
/* $Xorg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */
/*
@@ -516,6 +516,8 @@ void UseMsg(void)
ErrorF("nologo disable logo in screen saver\n");
#endif
ErrorF("-nolisten string don't listen on protocol\n");
+ ErrorF("-noreset don't reset after last client exists\n");
+ ErrorF("-reset reset after last client exists\n");
ErrorF("-p # screen-saver pattern duration (minutes)\n");
ErrorF("-pn accept failure to listen on all ports\n");
ErrorF("-nopn reject failure to listen on all ports\n");
@@ -823,6 +825,10 @@ ProcessCommandLine(int argc, char *argv[])
{
dispatchExceptionAtReset = 0;
}
+ else if ( strcmp( argv[i], "-reset") == 0)
+ {
+ dispatchExceptionAtReset = DE_RESET;
+ }
else if ( strcmp( argv[i], "-p") == 0)
{
if(++i < argc)