Was bedeutet EAGAIN?

Lesezeit: 1 Minute

Benutzeravatar von David van Dugteren
David van Dugteren

Wie im Titel, was bedeutet EAGAIN?

Benutzeravatar von Frédéric Hamidi
Frédéric Hamidi

WIEDER wird oft bei Auftritten angehoben nicht blockierende E/A. Es bedeutet “Im Moment sind keine Daten verfügbar, versuchen Sie es später erneut.”.

Es könnte (oder möglicherweise nicht) sei genauso wie EWOULDBLOCKwas bedeutet “Dein Thread müsste dafür blockiert werden”.

  • Gemäß IEEE 1003.1, EAGAIN kann dasselbe sein wie EWOULDBLOCK. opengroup.org/onlinepubs/000095399/basedefs/errno.h.html

    – Fred Foo

    30. Oktober 2010 um 11:09 Uhr

  • Was ich meine ist: Ein portables Programm sollte sich nicht darauf verlassen, dass sie unterschiedlich sind.

    – Fred Foo

    30. Oktober 2010 um 11:12 Uhr

  • Unter Linux sind EAGAIN und EWOULDBLOCK derselbe Wert, aber wirklich portierbarer Code sollte beide überprüfen.

    – Hookenz

    27. Mai 2014 um 21:16 Uhr

  • Dies kann daran liegen, dass Sie eine weiche/harte ulimit-Ressource wie Threads, Dateien oder Netzwerkverbindungen erreicht haben.

    – Buzut

    28. April 2016 um 10:39 Uhr

Verwenden man 2 intro | less -Ip EAGAIN:

     35 EAGAIN Resource temporarily unavailable.  This is a temporary condi-
         tion and later calls to the same routine may complete normally.

  • Bis ins Mark … mag es 😉

    – brunsgaard

    5. März 2015 um 0:41 Uhr

Was es bedeutet, ist weniger wichtig. Was es bedeutet:

  • Ihr Systemaufruf ist fehlgeschlagen
  • nichts ist passiert (Systemaufrufe sind atomar, und dieser ist einfach nicht passiert)
  • Sie könnte versuchen Sie es erneut (es könnte fehlschlagen wiedermöglicherweise mit einem anderen Ergebnis)
  • oder du könnte anders wählen.

Das Ganze über EAGAIN ist, dass Ihr Prozess nicht innerhalb des Systemaufrufs blockiert ist; es hat das Recht zu wählen: Entweder es erneut versuchen oder etwas Nützliches tun.

  • Haben Sie eine Quelle, die die Behauptung “Systemaufrufe sind atomar” unterstützt? Ich finde widersprüchliche Ergebnisse

    – sehen

    10. Juli 2018 um 11:20 Uhr

Entsprechend Dieses bedeutet “Die Operation hätte dazu geführt, dass der Prozess ausgesetzt wurde.”

1418400cookie-checkWas bedeutet EAGAIN?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy