Brad Campbell wrote: > I can't do a blocking read, in case I have a device go down. Yes you can! You're not on a single-user machine. Have a watchdog thread/process tap the main thread/process on the shoulder if it dies. -- Dogs have masters. Cats have staff.