[Info-vax] Timeout in a write using QUIW.

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Jun 21 17:25:32 EDT 2023


On 2023-06-21 20:45:12 +0000, Jan-Erik Sderholm said:

> Now, here is a technical one...
> 
> When doing a *read* from a terminal device using QIOW, one
> can use IO$M_TIMED and supply a timeout value in P3. That
> works perfectly and we use that a lot...

I've never had great success with $QIO and $IO_PERFORM timeouts, 
generally or particularly with network devices.

It's all gotten better by appearances, but it was long a source of app 
races and of occasional app bugs.

I usually use a timer AST and a $CANCEL for the async read and write 
I/O, and a $WAKE.

The AST sets an interlocked "cancel in progress" bitlock in the read or 
write $HIBER loop to avoid races, and with a $SCHDWK running to clean 
up any lingering $HIBER/$WAKE races lurking.

Threads would be workable here, too.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list