From 881f53e4577e6824c10722fd64e2f69c1b943956 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Fri, 31 May 2013 09:33:05 -0700 Subject: [PATCH] Added support to the Remote Console facility to close a remote console session on EOF --- README.md | 2 ++ doc/simh_doc.doc | Bin 196608 -> 177664 bytes sim_console.c | 44 +++++++++++++++++++++++++++++++++++++------- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d0b6c1e0..9047c52d 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ A subset of normal simh commands are available for use in remote console session The Single Command Mode commands are: ATTACH, DETACH, PWD, SHOW, DIR, LS, ECHO, HELP The Multiple Command Mode commands are: EXAMINE, IEXAMINE, DEPOSIT, EVALUATE, ATTACH, DETACH, ASSIGN, DEASSIGN, STEP, CONTINUE, PWD, SAVE, SET, SHOW, DIR, LS, ECHO, HELP +A remote console session will close when an EOF character is entered (i.e. ^D or ^Z). + #### VAX/PDP11 Enhancements RQ has new disk types: RC25, RCF25, RA80 RQ device has a settable controller type (RQDX3, UDA50, KLESI, RUX50) diff --git a/doc/simh_doc.doc b/doc/simh_doc.doc index 02cec35ba569e91ce2d84d30f9d6b38c1e6ca14c..ad8c08104ae20a51b0358bdd18327aa8ab1133ac 100644 GIT binary patch delta 28481 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

1RNFdt8z{FN;E3$3LS`a+X)1n(1;2W*r+K;t0n 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

#&TnOG})(Z;L}(EFEjIi6vse=w%k#8NA*Tpg3 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 A=Kufz diff --git a/sim_console.c b/sim_console.c index 6f072a3d..2fe37942 100644 --- a/sim_console.c +++ b/sim_console.c @@ -518,6 +518,7 @@ t_bool stepping = FALSE; int32 steps = 1; t_bool was_stepping = (sim_rem_step_line != -1); t_bool got_command; +t_bool close_session = FALSE; TMLN *lp; char cbuf[4*CBUFSIZE], gbuf[CBUFSIZE], *cptr, *argv[1] = {NULL}; CTAB *cmdp; @@ -535,15 +536,15 @@ for (i=(was_stepping ? sim_rem_step_line : 0); sim_rem_step_line = -1; /* Done with step */ stat = SCPE_STEP; cmdp = find_cmd ("STEP"); - stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */ - stat = SCPE_BARE_STATUS(stat); /* remove possible flag */ - if (!stat_nomessage) { /* displaying message status? */ + stat_nomessage = stat & SCPE_NOMESSAGE; /* extract possible message supression flag */ + stat = SCPE_BARE_STATUS(stat); /* remove possible flag */ + if (!stat_nomessage) { /* displaying message status? */ fflush (sim_log); cmd_log_start = sim_ftell (sim_log); - if (cmdp && (cmdp->message)) /* special message handler? */ - cmdp->message (NULL, stat); /* let it deal with display */ + if (cmdp && (cmdp->message)) /* special message handler? */ + cmdp->message (NULL, stat); /* let it deal with display */ else - if (stat >= SCPE_BASE) { /* error? */ + if (stat >= SCPE_BASE) { /* error? */ printf ("%s\r\n", sim_error_text (stat)); if (sim_log) fprintf (sim_log, "%s\n", sim_error_text (stat)); @@ -579,6 +580,12 @@ for (i=(was_stepping ? sim_rem_step_line : 0); tmxr_linemsgf (lp, "Simulation will resume automatically if input is not received in %d seconds\n", sim_rem_read_timeout); } else { + if ((c == '\004') || (c == '\032')) { /* EOF character (^D or ^Z) ? */ + tmxr_linemsgf (lp, "\r\nGoodbye\r\n"); + tmxr_send_buffered_data (lp); /* flush any buffered data */ + tmxr_reset_ln (lp); + continue; + } sim_rem_single_mode[i] = TRUE; tmxr_linemsgf (lp, "\r\n%s", sim_prompt); tmxr_send_buffered_data (lp); /* flush any buffered data */ @@ -648,6 +655,23 @@ for (i=(was_stepping ? sim_rem_step_line : 0); sim_rem_buf[i][sim_rem_buf_ptr[i]++] = '\0'; got_command = TRUE; break; + case '\004': /* EOF (^D) */ + case '\032': /* EOF (^Z) */ + while (sim_rem_buf_ptr[i] > 0) { /* Erase current input line */ + tmxr_linemsg (lp, "\b \b"); + --sim_rem_buf_ptr[i]; + } + if (!sim_rem_single_mode[i]) { + if (sim_rem_buf_ptr[i]+80 >= sim_rem_buf_size[i]) { + sim_rem_buf_size[i] += 1024; + sim_rem_buf[i] = realloc (sim_rem_buf[i], sim_rem_buf_size[i]); + } + strcpy (sim_rem_buf[i], "CONTINUE ! Automatic continue before close"); + tmxr_linemsgf (lp, "%s\n", sim_rem_buf[i]); + got_command = TRUE; + } + close_session = TRUE; + break; default: tmxr_putc_ln (lp, c); if (sim_rem_buf_ptr[i]+2 >= sim_rem_buf_size[i]) { @@ -662,8 +686,9 @@ for (i=(was_stepping ? sim_rem_step_line : 0); } } while ((!got_command) && (!sim_rem_single_mode[i])); tmxr_send_buffered_data (lp); /* flush any buffered data */ - if ((sim_rem_single_mode[i]) && !got_command) + if ((sim_rem_single_mode[i]) && !got_command) { break; + } printf ("Remote Console Command from %s> %s\r\n", lp->ipad, sim_rem_buf[i]); if (sim_log) fprintf (sim_log, "Remote Console Command from %s> %s\n", lp->ipad, sim_rem_buf[i]); @@ -790,6 +815,11 @@ for (i=(was_stepping ? sim_rem_step_line : 0); break; } } + if (close_session) { + tmxr_linemsgf (lp, "\r\nGoodbye\r\n"); + tmxr_send_buffered_data (lp); /* flush any buffered data */ + tmxr_reset_ln (lp); + } } if (stepping) sim_activate(uptr, steps); /* check again after 'steps' instructions */