Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 April 20

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
вот я пытаюсь захендлить случай с 0
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
при 1 я уже ниче не должен, да
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Вот тут довольно подробно чуваки излагают
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
-1/SSL_ERROR_WANT_READ means that the SSL_shutdown() API is waiting for
the remote end to send its 'SSL close notify' packet.  As stated above
you have no control over when or if the remote end does this.

The -1/SSL_ERROR_WANT_READ is the generic 'waiting for more data' error
code you get from non-blocking SSL_read() API and it has exactly the
same meaning in respect of SSL shutdown, since we are waiting for data
from the remote end to complete the shutdown of both streams (send and
receive).
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
То есть первый шатдаун закрывает send сторону, вторая сторона должна это отдуплить, ответить close_notify и закрыться со своей стороны
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Но это может произойти не молниеносно
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Поэтому, по-моему, где-то было оговорено, что можно после своего close_notify считать сессию закрытой. ЩА найду где
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
According to the TLS standard, it is acceptable for an application to only send its shutdown alert and then close the underlying connection without waiting for the peer's response (this way resources can be saved, as the process can already terminate or serve another connection).
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
А ну да, вот тут
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
то есть нет никаких способов\смысла "ждать" пока  2ая сторона тоже закроет?
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Но если надо по красивому, то надо разобраться почему вторая сторона тупит.
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Способы есть, именно что ждать
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
А вот смысл есть только если тебя парят ресурсы той стороны
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
ну ждать можно по разному.. я могу тупо в вайл тру чекать ошибку
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
а могу как-то по умному
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
что б не жрать cpu и не чекать это дело каждую секунду
источник

AO

Anton Ornatskyi in IT KPI C/C++ ХВ (не UB)
Ну да, или параллельно чем-то заниматься осмысленным
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
окей, допустим я раз отправил этот shutdown и забил
источник