mirror of
https://github.com/simh/simh.git
synced 2026-01-13 23:35:57 +00:00
TMXR: purge any unprocessed EXPECT rules and SEND data on a MUX detach
This commit is contained in:
parent
8077d4de38
commit
d35b19a8ba
14
sim_tmxr.c
14
sim_tmxr.c
@ -4068,20 +4068,24 @@ return SCPE_OK;
|
||||
t_stat tmxr_detach (TMXR *mp, UNIT *uptr)
|
||||
{
|
||||
int32 i;
|
||||
char portname[CBUFSIZE];
|
||||
|
||||
if (!(uptr->flags & UNIT_ATT)) /* attached? */
|
||||
return SCPE_OK;
|
||||
tmxr_close_master (mp); /* close master socket */
|
||||
free (uptr->filename); /* free setup string */
|
||||
uptr->filename = NULL;
|
||||
uptr->tmxr = NULL;
|
||||
mp->last_poll_time = 0;
|
||||
for (i=0; i < mp->lines; i++) {
|
||||
mp->ldsc[i].uptr->tmxr = NULL;
|
||||
mp->ldsc[i].uptr->dynflags &= ~UNIT_TM_POLL; /* no polling */
|
||||
mp->ldsc[i].o_uptr->tmxr = NULL;
|
||||
mp->ldsc[i].o_uptr->dynflags &= ~UNIT_TM_POLL; /* no polling */
|
||||
sprintf (portname, "%s:%d", mp->dptr->name, i);
|
||||
expect_cmd (0, portname); /* clear dangling expects */
|
||||
send_cmd (0, portname); /* clear dangling send data */
|
||||
}
|
||||
tmxr_close_master (mp); /* close master socket */
|
||||
free (uptr->filename); /* free setup string */
|
||||
uptr->filename = NULL;
|
||||
uptr->tmxr = NULL;
|
||||
mp->last_poll_time = 0;
|
||||
uptr->flags &= ~(UNIT_ATT); /* not attached */
|
||||
uptr->dynflags &= ~(UNIT_TM_POLL|TMUF_NOASYNCH); /* no polling, not asynch disabled */
|
||||
return SCPE_OK;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user