From f936548b5e1dc6cff6e422867a4265c64ebbcfd1 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 26 Jun 2006 05:45:25 +0000 Subject: slow mode for debugging --- src/cmd/devdraw/x11-srv.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/cmd/devdraw/x11-srv.c b/src/cmd/devdraw/x11-srv.c index a5c5bf11..f0b9dc28 100644 --- a/src/cmd/devdraw/x11-srv.c +++ b/src/cmd/devdraw/x11-srv.c @@ -87,6 +87,7 @@ void matchresized(void); int fdnoblock(int); int chatty; +int drawsleep; void usage(void) @@ -95,6 +96,14 @@ usage(void) exits("usage"); } +void +bell(void *v, char *msg) +{ + if(strcmp(msg, "alarm") == 0) + drawsleep = drawsleep ? 0 : 1000; + noted(NCONT); +} + void main(int argc, char **argv) { @@ -110,9 +119,12 @@ main(int argc, char **argv) default: usage(); }ARGEND + + /* + * Ignore arguments. They're only for good ps -a listings. + */ - if(argc != 0) - usage(); + notify(bell); fdin.rp = fdin.wp = fdin.buf; fdin.ep = fdin.buf+sizeof fdin.buf; @@ -155,7 +167,10 @@ main(int argc, char **argv) if(chatty) fprint(2, "select %d...\n", top+1); /* wait for something to happen */ + again: if(select(top+1, &rd, &wr, &xx, NULL) < 0){ + if(errno == EINTR) + goto again; if(chatty) fprint(2, "select failure\n"); exits(0); -- cgit v1.2.3