Re:
> > the timeout occurs the entire 'input' command along with the 'text'
> > corresponding to 'hpcierr' 9003 gets written to the message
The "input foo; wait=60 <*x >*x" will (when a record was found)
delete the record from the message file, and then try to append it
to the end of the file. So, one has to ask: is this desirable/acceptable
to your application? (Remember: there could have been multiple records
in the file, and now they're out of chronological order).
Setting HPMSGFENCE to 2 prior to the "input" will result in one
blank line being added to the message file in the event of a timeout.
So...there are two solutions I see:
1)...why put it back? Why not pass it to the application somehow?
If you can avoid trying to put it back, you've solved the problem.
I.e.: remove the ">*x" and do something like:
run application;info ="!foo"
or
2) put it back conditionally (instead of on the "input" command):
setvar hp.. 0
input foo; wait=60 <*x
if hp... = -9003 then
comment we timed out
else
comment we didn't time out...replace the record (albeit at the end
comment of the file) and run the application...
echo !foo >*x
...run application...
endif
Stan Sieler [log in to unmask]
www.allegro.com/sieler/wanted/index.html www.allegro.com/sieler