È _write in io.h un blocco delle chiamate?
-
01-10-2019 - |
Domanda
Ho ereditato un codice che, per inizializzare alcuni componenti hardware, scrive alcuni byte e quindi attende un ritorno. Per fare questo si chiama la funzione _write
da io.h
. Dal mio test, sembra che sia rinchiudere in quel punto. Quindi le mie domande sono le seguenti:
- è quella funzione di una funzione di blocco?
- C'è un modo di impostare un timeout?
- Esiste una funzione alternativa non-blocking potrei usare invece?
Soluzione
Se si vuole fare async I / O su Windows quindi utilizzare le API Win32 direttamente (un'occhiata a documenti per WriteFileEx / ReadFileEx, che contengono puntatori a sfondo generale async I / O vs sync) o prendere in considerazione boost :: asio .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow