ich bin (scheinbar) zufällig immer den Fehler:Boost-Asynchron-Lese-/Schreib nicht mit „Nicht genügend Systemressourcen, um den angeforderten Dienst auszuführen“
"Insufficient system resources exist to complete the requested service"
Bei Verwendung des boost::asio::async_read_until
oder boost::asio::async_write
mit einer seriellen Schnittstelle.
die serielle Schnittstelle Nachdem erklärt wie:
boost::asio::serial_port mSerialPort;
diese Fehler Folgen, ich versuche zu
try
{
mSerialPort.cancel();
mSerialPort.close();
}
catch(boost::system::system_error error)
{
;
}
Wo einer von ihnen (noch nicht sicher, welche) hängen und nie wieder, nicht einmal zu werfen eine Ausnahme.
Im Allgemeinen, was bedeutet dieser Fehler?
Ist jemand auf dieses Problem gestoßen? Irgendeine Richtung sollte ich genauer untersuchen?
EDIT:
Die serielle Schnittstelle in Frage verwendet einen USB-Emulator.
In Bezug auf diese other SO Question, speziell der Kommentar von Hans Passant, ist es möglich, dass dieser Fehler mit dem Gerätetreiber verknüpft ist? Ich verwende den gleichen Code mit einer anderen Hardwarekomponente und habe dieses Verhalten nie erhalten.
EDIT 2:
Wenn im Web für diese Fehlermeldung suchen, oft wird empfohlen, die ausgelagerten Poolspeicher zu erhöhen, wie hier beschrieben:
All Sinn In meinem Fall?
Haben Sie versucht, eine Korrelation zwischen der Größe der Daten, die Sie übertragen möchten, und dem Auftreten des Fehlers herzustellen? –
Die Größe der Daten ist immer die gleiche, es ist kleine Befehle und Antworten, die Größe ist etwa 4-10 Zeichen lang. – Smash
Welche spezifischen Geräte und Gerätetreiber verwenden Sie, wenn dieses Problem auftritt? –