home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR4
/
RXUSMP.ZIP
/
PROGRESS.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1993-04-08
|
2KB
|
45 lines
/* Rexx */
/*******************************************************************
The following swatch of Rexx code illustrates how you might use
some functions in the YDBAUTIL function package to do multi-
threaded Rexx programming.
In the example below, we are going to display a "progress" message
to show some sign of life to a user while the program waits on
some external event. In this case, we just want to display a
"counter" on the screen while the main thread is waiting for
a user to press any key to release the "pause" command.
*******************************************************************/
/* Register Rexx external functions */
If RxFuncQuery('SYSSLEEP') Then
Do
Call RxFuncAdd 'SysLoadFuncs','RexxUtil','SysLoadFuncs'
Call SysLoadFuncs
End
If RxFuncQuery('RxCreateRexxThread') Then
Do
Call RxFuncAdd 'RxYdbaUtilInit','YDBAUTIL','RxYdbaUtilInit'
Call RxYdbaUtilInit
End
/* InStorage code to be executed on another thread while waiting for */
/* response from partner */
instr = "Say;Say 'Executing instruction(s) at partner LU';Say"
instr = instr || ";Say 'Waiting for external event to end ...'"
instr = instr || ";call time 'r';do forever;call syssleep 2;call charout ,'0d'x||Trunc(time('e')) 'Seconds elapsed';end"
instr = RxTokenize(instr)
tid = RxCreateRexxThread('&'instr)
/* ... perform something which waits on an external event */
'@pause'
/* ... (such as an APPC "Receive_And_Wait", etc.) */
call rxkillthread tid;say
Exit