getsockopt TCP_NODELAY: optval muss 0 sein?!
-
Hallo!
Komisch, wenn ich mit getsockopt den TCP_NODELAY status holen will
int noDelay; // Uninitialisiert macht Probleme, aber ist doch ein __out Parameter int noDelayLen = sizeof(int); getsockopt(socket, IPPROTO_TCP, TCP_NODELAY, reinterpret_cast<char*>(&noDelay), &noDelayLen);
bekomme ich als Rückgabewert -858993664, bzw. -858993663 wenn TCP_NODELAY vorher auf 1 gesetzt wurde.
Ich muss "int noDelay = 0;" schreiben, damit das nicht passiert, dann wird der korrrekte Wert geholt. Warum ist das so? Bei anderen Optionen muss ich nicht zuerst auf Null setzen...
Der Rückgabewert von getsockopt ist immer 0, also kein Fehler!