Question

I've inherited some code which, to initialise some hardware, writes a few bytes and then waits for a return. To do this it calls the _write function from io.h. From my testing, it looks like it's locking up at that point. So my questions are as follows:

  1. Is that function a blocking function?
  2. Is there a way of setting a timeout?
  3. Is there an alternative non-blocking function I could use instead?
Was it helpful?

Solution

If you want to do async I/O on Windows then either use the Win32 APIs directly (look at docs for WriteFileEx/ReadFileEx, which contain pointers to general background on async I/O vs sync) or consider boost::asio.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top