egray@fthood.UUCP (05/12/89)
See???? I haven't forgot you guys! This is patch #3 to the Pcomm v1.2 distribution package. This patch will fix few problems with Pcomm on Microsoft XENIX 3.0/3.5 and changes the method of getting rid of zombie processes. Emmet P. Gray US Army, HQ III Corps & Fort Hood ...!uunet!uiucuxc!fthood!egray Attn: AFZF-DE-ENV Directorate of Engineering & Housing Environmental Management Office Fort Hood, TX 76544-5057 ------------------------------------------------------------------------------ Prereq: "1.2.2" *** old/info.c Tue Mar 7 11:18:10 1989 --- info.c Thu May 11 11:54:25 1989 *************** *** 4,9 */ ! #define VERSION "1.2.2" ! #define DATE "11 Mar 89" #include <stdio.h> --- 4,9 ----- */ ! #define VERSION "1.2.3" ! #define DATE "11 May 89" #include <stdio.h> *** old/Makefile Fri Feb 3 07:39:32 1989 --- Makefile Thu May 11 11:53:47 1989 *************** *** 8,11 #TERMLIB = -ltinfo -lx CFLAGS = -O LDFLAGS = -s --- 8,15 ----- #TERMLIB = -ltinfo -lx + #for 80286 versions of Microsoft Xenix 3.0/3.5 + #CFLAGS = -O -Mme2 -Dresetterm=xresetterm -DXENIX_3 + #LDFLAGS = -s -Mm -F 5120 + CFLAGS = -O LDFLAGS = -s *************** *** 63,71 cp matches $(BIN) cp modem_break $(BIN) ! # rm pcomm ! # rm pcomm_input ! # rm waitfor ! # rm matches ! # rm modem_break lint: --- 67,77 ----- cp matches $(BIN) cp modem_break $(BIN) ! ! clean: ! rm pcomm ! rm pcomm_input ! rm waitfor ! rm matches ! rm modem_break lint: *** old/d_menu.c Fri Jan 27 09:38:36 1989 --- d_menu.c Thu May 11 10:35:34 1989 *************** *** 50,53 waddstr(dm_win, " Scroll Down"); mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>"); waddstr(dm_win, " Page"); --- 50,56 ----- waddstr(dm_win, " Scroll Down"); + #ifdef OLDCURSES + mvwattrstr(dm_win, 17, 14, A_BOLD, "U/N"); + #else /* OLDCURSES */ mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>"); #endif /* OLDCURSES */ *************** *** 51,54 mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>"); waddstr(dm_win, " Page"); mvwattrch(dm_win, 17, 34, A_BOLD, 'L'); --- 54,58 ----- #else /* OLDCURSES */ mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>"); + #endif /* OLDCURSES */ waddstr(dm_win, " Page"); mvwattrch(dm_win, 17, 34, A_BOLD, 'L'); *** old/di_delay.c Fri Jan 13 07:47:22 1989 --- di_delay.c Wed Apr 26 08:35:19 1989 *************** *** 50,54 } /* get the rdelay number */ ! wmove(dt_win, 6, 20); wrefresh(dt_win); if ((rdelay = get_num(dt_win, 3)) == -1) { --- 50,54 ----- } /* get the rdelay number */ ! wmove(dt_win, 6, 22); wrefresh(dt_win); if ((rdelay = get_num(dt_win, 3)) == -1) { *** old/di_win.c Mon Jan 16 17:17:30 1989 --- di_win.c Sat Apr 22 22:43:28 1989 *************** *** 198,202 else write(fd, &cr, 1); ! sleep(1); } /* if we get here, no key was pressed */ --- 198,202 ----- else write(fd, &cr, 1); ! sleep(2); } /* if we get here, no key was pressed */ *************** *** 257,260 dir->q_num[j] = dir->q_num[j+1]; dir->q_num[NUM_QUEUE-1] = -1; break; case 'e': --- 257,263 ----- dir->q_num[j] = dir->q_num[j+1]; dir->q_num[NUM_QUEUE-1] = -1; + + if (dir->q_num[i] == -1) + i = 0; break; case 'e': *** old/getopt.c Tue Oct 18 11:47:04 1988 --- getopt.c Wed Apr 26 08:26:40 1989 *************** *** 4,7 #include <stdio.h> int optind = 1; --- 4,8 ----- #include <stdio.h> + #include "config.h" int optind = 1; *** old/help.c Mon Jan 16 17:18:02 1989 --- help.c Thu May 11 10:36:59 1989 *************** *** 23,26 horizontal(h_win, 2, 0, 80); mvwattrstr(h_win, 4, 0, A_BOLD, " Major Functions Utility Functions File Functions\n\n"); mvwprintw(h_win, 6, 2, "Dialing Directory.%4.4s-D Program Info ....%4.4s-I Send Files ....%4.4s-<up>", hot, hot, hot); mvwprintw(h_win, 7, 2, "Auto Redial ......%4.4s-R Setup Screen ....%4.4s-S Receive Files .%4.4s-<down>", hot, hot, hot); --- 23,30 ----- horizontal(h_win, 2, 0, 80); mvwattrstr(h_win, 4, 0, A_BOLD, " Major Functions Utility Functions File Functions\n\n"); + #ifdef OLDCURSES + mvwprintw(h_win, 6, 2, "Dialing Directory.%4.4s-D Program Info ....%4.4s-I Send Files ....%4.4s-U", hot, hot, hot); + mvwprintw(h_win, 7, 2, "Auto Redial ......%4.4s-R Setup Screen ....%4.4s-S Receive Files .%4.4s-N", hot, hot, hot); + #else /* OLDCURSES */ mvwprintw(h_win, 6, 2, "Dialing Directory.%4.4s-D Program Info ....%4.4s-I Send Files ....%4.4s-<up>", hot, hot, hot); mvwprintw(h_win, 7, 2, "Auto Redial ......%4.4s-R Setup Screen ....%4.4s-S Receive Files .%4.4s-<down>", hot, hot, hot); *************** *** 25,28 mvwprintw(h_win, 6, 2, "Dialing Directory.%4.4s-D Program Info ....%4.4s-I Send Files ....%4.4s-<up>", hot, hot, hot); mvwprintw(h_win, 7, 2, "Auto Redial ......%4.4s-R Setup Screen ....%4.4s-S Receive Files .%4.4s-<down>", hot, hot, hot); mvwprintw(h_win, 8, 2, "Keyboard Macros ..%4.4s-M Change Directory.%4.4s-B Pass Thru Mode.%4.4s-T", hot, hot, hot); mvwprintw(h_win, 9, 2, "Line Settings ....%4.4s-P Clear Screen ....%4.4s-C Directory .....%4.4s-F", hot, hot, hot); --- 29,33 ----- mvwprintw(h_win, 6, 2, "Dialing Directory.%4.4s-D Program Info ....%4.4s-I Send Files ....%4.4s-<up>", hot, hot, hot); mvwprintw(h_win, 7, 2, "Auto Redial ......%4.4s-R Setup Screen ....%4.4s-S Receive Files .%4.4s-<down>", hot, hot, hot); + #endif /* OLDCURSES */ mvwprintw(h_win, 8, 2, "Keyboard Macros ..%4.4s-M Change Directory.%4.4s-B Pass Thru Mode.%4.4s-T", hot, hot, hot); mvwprintw(h_win, 9, 2, "Line Settings ....%4.4s-P Clear Screen ....%4.4s-C Directory .....%4.4s-F", hot, hot, hot); *** old/main.c Tue Mar 7 11:18:10 1989 --- main.c Thu May 11 11:54:47 1989 *************** *** 15,18 * Patch #1 18 Feb 89 * Patch #2 11 Mar 89 */ --- 15,19 ----- * Patch #1 18 Feb 89 * Patch #2 11 Mar 89 + * Patch #3 11 May 89 */ *************** *** 150,153 cbreak(); noecho(); #ifdef OLDCURSES --- 151,157 ----- cbreak(); noecho(); + #ifdef XENIX_3 + raw(); + #endif /* XENIX_3 */ #ifdef OLDCURSES *** old/modem_break.c Thu Jan 12 14:32:16 1989 --- modem_break.c Wed May 10 12:18:47 1989 *************** *** 5,8 #include <stdio.h> #ifdef BSD #include <sgtty.h> --- 5,12 ----- #include <stdio.h> + #ifdef XENIX_3 + #include <sys/types.h> + #include <sys/ioctl.h> + #endif /* XENIX_3 */ #ifdef BSD #include <sgtty.h> *** old/script.c Mon Feb 20 15:32:06 1989 --- script.c Sun Apr 2 12:21:17 1989 *************** *** 138,143 break; } - /* wait for the zombie process */ - wait(&sig_status); signal(SIGINT, istat); --- 138,141 ----- break; } signal(SIGINT, istat); *** old/terminal.c Mon Feb 20 15:32:08 1989 --- terminal.c Tue May 2 09:29:35 1989 *************** *** 394,397 input_off() { if (pid != -1) { kill(pid, SIGTERM); --- 394,399 ----- input_off() { + SIG_TYPE (*cstat)(); + if (pid != -1) { /* *************** *** 395,398 { if (pid != -1) { kill(pid, SIGTERM); pid = -1; --- 397,404 ----- if (pid != -1) { + /* + * This serves to periodically clean up the process table + */ + cstat = signal(SIGCLD, SIG_IGN); kill(pid, SIGTERM); pid = -1; *************** *** 397,400 kill(pid, SIGTERM); pid = -1; } return; --- 403,407 ----- kill(pid, SIGTERM); pid = -1; + signal(SIGCLD, cstat); } return; *** old/tty_att.c Thu Dec 29 13:24:52 1988 --- tty_att.c Wed May 10 12:18:47 1989 *************** *** 4,7 #include <stdio.h> #include <termio.h> #include <fcntl.h> --- 4,11 ----- #include <stdio.h> + #ifdef XENIX_3 + #include <sys/types.h> + #include <sys/ioctl.h> + #endif /* XENIX_3 */ #include <termio.h> #include <fcntl.h> *** old/vcs.c Fri Jan 27 10:06:04 1989 --- vcs.c Wed May 10 12:18:48 1989 *************** *** 10,13 #include <curses.h> #include <term.h> #endif /* OLDCURSES */ --- 10,15 ----- #include <curses.h> #include <term.h> + #else /* OLDCURSES */ + char tcbuf[1024]; #endif /* OLDCURSES */ *************** *** 188,192 #ifdef OLDCURSES ! char tcbuf[1024], tb[1024], *t, *cursor_home, *clr_eol, *clr_eos; char *clear_screen, *cursor_up, *cursor_down, *cursor_right; char *cursor_left, *cursor_address, *getenv(), *tgetstr(), *tgoto(); --- 190,194 ----- #ifdef OLDCURSES ! char tb[1024], *t, *cursor_home, *clr_eol, *clr_eos; char *clear_screen, *cursor_up, *cursor_down, *cursor_right; char *cursor_left, *cursor_address, *getenv(), *tgetstr(), *tgoto(); *** old/x_extrnl.c Fri Feb 3 10:08:06 1989 --- x_extrnl.c Sun Apr 2 12:21:19 1989 *************** *** 118,123 break; } - /* wait for the zombie process */ - wait(&sig_status); signal(SIGINT, istat); --- 118,121 ----- break; } signal(SIGINT, istat);