© unbekannterkünstler@newsgroup

Hier eine andere Möglichkeit, REXX ohne CPU-Verbrauch zum Stehen zu bringen. Voraussetzung hierfür ist, dass Sie die Unix System Services (USS) erreichen können.

SysCalls ist beschrieben in SC28-1905-04 OS/390 Using REXX and OS/390 UNIX System Services
(hier finden Sie auch sonst allerhand brauchbares)


/* REXX EXEC                                                         */
/* *******************************************************************/
/* TSOWAIT : WAIT/SLEEP FOR SPECIFIED NUMBER OF SECONDS              */
/* *******************************************************************/
/* FORMAT: TSOWAIT SECONDS                                           */
/* SECONDS MUST BE A WHOLE NUMBER, OTHERWISE DEFAULT TO 15 SECONDS   */
/* *******************************************************************/
/* USES OS/390 UNIX CALLABLE SERVICES EXTENSIONS FOR REXX            */
/* *******************************************************************/
TRACE OFF
ARG PARMS
EXITRC = 0
SECONDS = WORD(PARMS,1)
DEFAULT_SECONDS = 15
IF SECONDS = '' THEN SECONDS = DEFAULT_SECONDS
IF DATATYPE(SECONDS,"W") THEN SECONDS = ABS(SECONDS)
ELSE SECONDS = DEFAULT_SECONDS
/* CALL SYSCALLS 'ON' */
IF SYSCALLS('ON') > 0 THEN DO
   SAY 'UNABLE TO ESTABLISH THE UNIX SYSCALL ENVIRONMENT'
   EXITRC = SYSCALLS('ON')
   SIGNAL EXIT
END
/* CALL TIME 'E' */
/* SAY 'READY TO SLEEP FOR ' SECONDS 'SECONDS' */
ADDRESS SYSCALL 'SLEEP ' SECONDS
EXITRC = RC
/* SAY 'I WAITED 'TIME('E')' SECONDS' */
EXIT:
EXIT EXITRC
zurück zu Hilfen im Alltag