gratuitous stylistic change
[unix-history] / usr / src / usr.bin / window / mloop.c
index d0669c7..d64962a 100644 (file)
@@ -1,18 +1,30 @@
-#ifndef lint
-static char sccsid[] = "@(#)mloop.c    3.9 %G%";
-#endif
-
 /*
 /*
- * Copyright (c) 1983 Regents of the University of California,
- * All rights reserved.  Redistribution permitted subject to
- * the terms of the Berkeley Software License Agreement.
+ * Copyright (c) 1983 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
  */
 
+#ifndef lint
+static char sccsid[] = "@(#)mloop.c    3.13 (Berkeley) %G%";
+#endif /* not lint */
+
 #include "defs.h"
 #include "defs.h"
+#include <sys/signal.h>
 
 mloop()
 {
 
 mloop()
 {
-       wwrint();               /* catch typeahead before we set ASYNC */
+       kill(getpid(), SIGIO);  /* catch typeahead before ASYNC was set */
        while (!quit) {
                if (incmd) {
                        docmd();
        while (!quit) {
                if (incmd) {
                        docmd();
@@ -28,21 +40,20 @@ mloop()
                        register char *p;
                        register n;
 
                        register char *p;
                        register n;
 
-                       wwiomux();
-                       if (wwibp < wwibq) {
-                               for (p = wwibp; p < wwibq && *p != escapec;
-                                    p++)
-                                       ;
-                               if ((n = p - wwibp) > 0) {
-                                       if (!w->ww_ispty && w->ww_stopped)
-                                               startwin(w);
-                                       (void) write(w->ww_pty, wwibp, n);
-                                       wwibp = p;
-                               }
-                               if (wwpeekc() == escapec) {
-                                       (void) wwgetc();
-                                       setcmd(1);
-                               }
+                       if (wwibp >= wwibq)
+                               wwiomux();
+                       for (p = wwibp; p < wwibq && *p != escapec;
+                            p++)
+                               ;
+                       if ((n = p - wwibp) > 0) {
+                               if (!w->ww_ispty && w->ww_stopped)
+                                       startwin(w);
+                               (void) write(w->ww_pty, wwibp, n);
+                               wwibp = p;
+                       }
+                       if (wwpeekc() == escapec) {
+                               (void) wwgetc();
+                               setcmd(1);
                        }
                }
        }
                        }
                }
        }