1*13982Sedward #ifndef lint 2*13982Sedward static char *sccsid = "@(#)wwclose.c 1.1 83/07/18"; 3*13982Sedward #endif 4*13982Sedward 5*13982Sedward #include "ww.h" 6*13982Sedward #include <signal.h> 7*13982Sedward 8*13982Sedward wwclose(w) 9*13982Sedward register struct ww *w; 10*13982Sedward { 11*13982Sedward register struct ww **p; 12*13982Sedward 13*13982Sedward for (p = &wwhead; *p && *p != w; p = &(*p)->ww_next) 14*13982Sedward ; 15*13982Sedward if (*p == 0) 16*13982Sedward return -1; 17*13982Sedward *p = w->ww_next; 18*13982Sedward if (curwin == w) 19*13982Sedward curwin = wwhead; 20*13982Sedward if (w->ww_state == WW_HASPROC) 21*13982Sedward kill(w->ww_pid, SIGHUP); 22*13982Sedward close(w->ww_tty); 23*13982Sedward close(w->ww_pty); 24*13982Sedward Wclose(w->ww_win); 25*13982Sedward cfree(w); 26*13982Sedward return 0; 27*13982Sedward } 28