1*13923Sedward #ifndef lint 2*13923Sedward static char *sccsid = "@(#)wwiomux.c 1.1 83/07/12"; 3*13923Sedward #endif 4*13923Sedward 5*13923Sedward #include "ww.h" 6*13923Sedward 7*13923Sedward wwforce(imask) 8*13923Sedward register int *imask; 9*13923Sedward { 10*13923Sedward register struct ww *w; 11*13923Sedward char buf[512]; 12*13923Sedward register int n; 13*13923Sedward register char *p; 14*13923Sedward 15*13923Sedward for (w = _wwhead; w; w = w->ww_next) 16*13923Sedward *imask |= 1 << w->ww_pty; 17*13923Sedward n = select(getdtablesize(), imask, 18*13923Sedward (int *)0, (int *)0, (struct timeval *)0); 19*13923Sedward if (n <= 0) 20*13923Sedward return -1; 21*13923Sedward for (w = _wwhead; w; w = w->ww_next) { 22*13923Sedward if (*imask & 1<<w->ww_pty) { 23*13923Sedward n = read(w->ww_pty, buf, sizeof buf); 24*13923Sedward for (p = buf; n-- > 0; p++) 25*13923Sedward wwputc(*p, w); 26*13923Sedward } 27*13923Sedward } 28*13923Sedward return 0; 29*13923Sedward } 30