; TSMCR (TIME-SHARED MCR) IS A PSEUDO-CLI TASK THAT ALLOWS SEVERAL ; SIMULTANEOUS TIME-SHARED TASKS (CURRENTLY UP TO 5) TO BE RUN AT AN ; IAS TERMINAL. TSMCR WILL TAKE CONTROL-C RESPONSE AWAY FROM THE CLI ; (NORMALLY PDS) AND FUNCTION SIMILIARLY TO THE RSX-11D MCR, EXCEPT ; THAT IT WILL ADHERE TO THE CONSTRAINTS OF THE IAS TIME-SHARING ; CONTROL PRIMITIVES (TCP), INCLUDING THE SET DEFAULT CHARACTERISTICS. ; HOWEVER, TSMCR ADHERES TO THE RSX-11D COMMAND SYNTAX RATHER THAN ; THE PDS SYNTAX. ; ; TSMCR IS INITIALLY ACTIVATED SIMPLY BY RUN TSMCR. AFTER EACH COMMAND ; TSMCR WILL GO INTO A WAIT STATE AND WILL REPROMPT THE TERMINAL FOR ; INPUT ONLY IN RESPONSE TO A CONTROL-C OR WHENEVER A REQUESTED TASK ; EXITS. A CONTROL-Z INPUT WILL RETURN TSMCR TO ITS WAIT STATE. ; ; NOTE: WHEN TSMCR EXITS, THE CONSTRAINTS OF IAS ARE SUCH THAT TCP WILL ; ABORT ANY TSMCR-INITIATED TASKS THAT ARE STILL ACTIVE. ; ; TSMCR ACCEPTS FOUR TYPES OF INPUTS: RUN COMMANDS, MCR/PDS TYPE COMMANDS, ; THE ABORT COMMAND AND THE EXIT COMMAND. ; ; 1. RUN COMMANDS: TSMCR>RUN TASKNAME ; AN ATTEMPT WILL BE MADE TO EXECUTE AN INSTALLED TASK TASKNAME. IF NO ; SUCH TASK IS INSTALLED, THEN TASKNAME WILL BE ASSUMED TO BE A FILENAME. ; ; 2. MCR/PDS TYPE COMMANDS: TSMCR>[C]XXX [COMMAND LINE] ; IF THE OPTIONAL CHARACTER C IS OMITTED, AN ATTEMPT WILL BE MADE TO ; EXECUTE THE MCR-TYPE TASK ...XXX. IF UNSUCCESSFUL, AN ATTEMPT WILL ; THEN BE MADE TO EXECUTE A PDS-TYPE TASK $$$XXX. IN BOTH CASES THE ; OPTIONAL COMMAND LINE, IF INPUT, WILL BE PASSED TO THE TASK IN SUCH ; A MANNER THAT IT CAN BE READ BY THE GMCR$ OR GMCL$ DIRECTIVES. THE ; OPTIONAL CHARACTER C, WHICH CAN BE A PERIOD (.) OR DOLLAR SIGN($), ; WILL CAUSE TSMCR TO EXECUTE ONLY A MCR-TYPE TASK OR PDS-TYPE TASK ; REPSECTIVELY. ; ; 3. ABORT COMMAND: TSMCR>ABO[RT] TASKNAME ; THE SPECIFIED TASK, IF INITIATED BY TSMCR, WILL BE ABORTED. ; ; 4. EXIT COMMAND: TSMCR>EX[IT][/ABO] ; TSMCR WILL EXIT AND RETURN CONTROL TO THE CLI, NORMALLY PDS. IF ANY ; TASKS ARE STILL ACTIVE, THE USER WILL BE ASKED TO CONFIRM THAT EXIT ; IS REALLY DESIRED, SINCE IAS WILL ABORT ANY TSMCR-INITIATED TASKS ; WHEN TSMCR EXITS. THE OPTIONAL /ABO SWITCH, IF INPUT, WILL SUPPRESS ; THE CONFIRMATION REQUEST. ; ; IN ORDER FOR TSMCR TO FUNCTION PROPERLY, THE USERS ACCOUNT SHOULD HAVE ; A MAXIMUM TASK LIMIT OF AT LEAST 7 (SEE THE SCI COMMAND 'USERS' IN THE ; SYSTEM MANAGERS GUIDE). IN ADDITION, THE TERMINAL CLI ALLOCATION SHOULD ; ALSO ALLOW AT LEAST 7 TASKS (SEE THE SCI COMMANDS 'DEALLOCATE' AND ; 'ALLOCATE' IN THE SYSTEM MANAGERS GUIDE). ; TSMCR WAS WRITTEN ON A SYSTEM WHERE ALL USERS ARE GRANTED ALL TIME-SHARING ; PRIVLEDGES AVAILABLE UNDER THE IAS USERS COMMAND. UNDER MORE RESTRICTIVE ; CONDITIONS, TSMCR MAY NOT FUNCTION AS DESCRIBED. ; ; NOTE: THE FOLLOWING BUG IN THE IAS 2.0 TIME-SHARING CONTROL PRIMITIVES ; AFFECTS TSMCR. IF TWO TASKS OF THE SAME NAME ARE INITIATED AND ; SUBSEQUENTLY AN ABORT REQUEST IS ISSUED FOR ONE OF THEM, THE ; TASK (TSMCR IN THIS CASE) WILL HANG UP IN THE TCP ROUTINE .ABRT ; WAITING FOR A TASK EVENT (EVENT FLAG 2). IT WILL STAY THERE ; UNTIL ONE OF THE ACTIVE TASK EXITS, ABORTS OR CAUSES A SIMILAR ; TASK EVENT.