Correct STCP close contracts and sanitizer issues in its test
This commit is contained in:
1 parent
477d8f995b
commit
bf5a128a05
2 files changed
+12
-4
No files matched your search
@@ -194,8 +194,12 @@ void stcp_recv_set(struct stcp_conn *c, size_t need, int streaming,
|
||||
// try to process buffered data according to recv_need/streaming/on_chunk
|
||||
void stcp_recv_try(struct stcp_conn *c);
|
||||
|
||||
// unified close: closes socket, frees buffers, calls on_close. does NOT clean streams (stcp_conn_free does)
|
||||
/* Мягкое закрытие: запрещает RX, досылает накопленный TX и REALITY close_notify.
|
||||
* Завершение или таймаут 1 с вызывают do_close. Не освобождает внешние RX/TX очереди. */
|
||||
void stcp_conn_finish(struct stcp_conn *c);
|
||||
/* Немедленно закрывает сокет, отменяет таймеры, освобождает wire/recv/send буферы и потоки шифрования.
|
||||
* on_close вызывается один раз; повторное закрытие игнорируется. Внешние RX/TX очереди остаются у владельца.
|
||||
* Серверный allocated conn и free_on_close освобождаются отложенно; клиентский conn встроен в client handle. */
|
||||
void stcp_conn_do_close(struct stcp_conn *c, int err);
|
||||
|
||||
// снимает принятый коннект из списка владеющего сервера (реализация в stcp_server.c)
|
||||
|
||||
Reference in new issue
Block a user