aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/acme/acme.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-10-22 17:11:30 +0000
committerrsc <devnull@localhost>2004-10-22 17:11:30 +0000
commit012a8a02d5e43c1d4698acf42da61f4429c3ac1f (patch)
tree7b0b6a9018e8195a9a1ca662cd2ad027f82d3c40 /src/cmd/acme/acme.c
parente63027eb68ff7252598003151d238dee8850ad34 (diff)
downloadplan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.tar.gz
plan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.tar.bz2
plan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.zip
change md argument to number etc. (which acted only as a flag)
to an actual flag. buffer underrun check in number add xdata file for exactly the addressed region save addr across opens
Diffstat (limited to 'src/cmd/acme/acme.c')
-rw-r--r--src/cmd/acme/acme.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cmd/acme/acme.c b/src/cmd/acme/acme.c
index 04931905..18765bcd 100644
--- a/src/cmd/acme/acme.c
+++ b/src/cmd/acme/acme.c
@@ -67,6 +67,11 @@ threadmain(int argc, char *argv[])
loadfile = nil;
ARGBEGIN{
+ case 'D':
+ {extern int _threaddebuglevel;
+ _threaddebuglevel = ~0;
+ }
+ break;
case 'a':
globalautoindent = TRUE;
break;
@@ -643,6 +648,21 @@ waitthread(void *v)
alts[WCmd].op = CHANRCV;
alts[NWALT].op = CHANEND;
+ /*
+ * BUG. Actually there's no bug here but this is the
+ * first place you'd look. When a program is run,
+ * it doesn't disappear from the main tag until the
+ * mouse is moved or keyboard is hit. This would
+ * suggest that the WWait case isn't working right,
+ * but what's actually going on is that the X11 code
+ * is running a select-based threading loop that
+ * doesn't get interrupted until there is data from X11.
+ * This was done to make acme work on Suns and
+ * other systems where our threading was sub-par.
+ * Now that we've gotten pthreads working (sort of),
+ * we might be able to fix this properly.
+ * But the bug is in libdraw and libthread, not here.
+ */
command = nil;
for(;;){
switch(alt(alts)){