aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-01-23 16:02:04 +0000
committerrsc <devnull@localhost>2005-01-23 16:02:04 +0000
commita0e8d02d093e01fdadf8a16bc86fe18b0c4e82c3 (patch)
tree819b464ae0d8991c3b881ece91d4b6e4f1c3ef54
parent8327d419814d5ccfa9c005b371267d783f585177 (diff)
downloadplan9port-a0e8d02d093e01fdadf8a16bc86fe18b0c4e82c3.tar.gz
plan9port-a0e8d02d093e01fdadf8a16bc86fe18b0c4e82c3.tar.bz2
plan9port-a0e8d02d093e01fdadf8a16bc86fe18b0c4e82c3.zip
Apparently SuSE 9.1's X distribution uses even bigger
buffers than the standard ones. 64kB appears to be enough for a stack in that case, but let's just go nuts and make the stacks enormous, so that it takes a few more doublings of X's stack needs before we run into this problem again. The VM system should take care of not actually using most of the memory anyway.
-rw-r--r--src/libdraw/x11-itrans.c3
-rw-r--r--src/libdraw/x11-keyboard.c2
-rw-r--r--src/libdraw/x11-mouse.c2
-rw-r--r--src/libthread/thread.c2
4 files changed, 5 insertions, 4 deletions
diff --git a/src/libdraw/x11-itrans.c b/src/libdraw/x11-itrans.c
index f1c72ee9..8b1c1376 100644
--- a/src/libdraw/x11-itrans.c
+++ b/src/libdraw/x11-itrans.c
@@ -21,7 +21,8 @@ __xtoplan9kbd(XEvent *e)
if(e->xany.type != KeyPress)
return -1;
- needstack(20*1024); /* X has some *huge* buffers in openobject */
+ needstack(64*1024); /* X has some *huge* buffers in openobject */
+ /* and they're even bigger on SuSE */
XLookupString((XKeyEvent*)e,NULL,0,&k,NULL);
if(k == XK_Multi_key || k == NoSymbol)
return -1;
diff --git a/src/libdraw/x11-keyboard.c b/src/libdraw/x11-keyboard.c
index 1a4d0a3b..77fa78ba 100644
--- a/src/libdraw/x11-keyboard.c
+++ b/src/libdraw/x11-keyboard.c
@@ -72,7 +72,7 @@ initkeyboard(char *file)
return nil;
kc->c = chancreate(sizeof(Rune), 20);
chansetname(kc->c, "kbdc");
- proccreate(_ioproc, kc, 32768);
+ proccreate(_ioproc, kc, 256*1024);
return kc;
}
diff --git a/src/libdraw/x11-mouse.c b/src/libdraw/x11-mouse.c
index 936b5628..1e775758 100644
--- a/src/libdraw/x11-mouse.c
+++ b/src/libdraw/x11-mouse.c
@@ -141,7 +141,7 @@ initmouse(char *file, Image *i)
chansetname(mc->c, "mousec");
mc->resizec = chancreate(sizeof(int), 2);
chansetname(mc->resizec, "resizec");
- proccreate(_ioproc, mc, 32768);
+ proccreate(_ioproc, mc, 256*1024);
return mc;
}
diff --git a/src/libthread/thread.c b/src/libthread/thread.c
index ff22bbaa..646d2659 100644
--- a/src/libthread/thread.c
+++ b/src/libthread/thread.c
@@ -578,7 +578,7 @@ main(int argc, char **argv)
p = procalloc();
_threadsetproc(p);
if(mainstacksize == 0)
- mainstacksize = 65536;
+ mainstacksize = 256*1024;
_threadcreate(p, threadmainstart, nil, mainstacksize);
scheduler(p);
_threaddaemonize();