Stop packet construction when input callbacks restart the stream

This commit is contained in:
evgeny committed 2026-10-23 19:26:00 +02:00
1 parent 77a737fd71
commit 7c09bfca7f
2 files changed
+4

No files matched your search

+2
View File
@@ -1015,6 +1015,8 @@ struct ETCP_DGRAM* etcp_request_pkt(struct ETCP_CONN* conn) {
return NULL;
}
if (!conn->input_send_q->head) input_queue_try_push(conn);
// Callback input_queue мог сменить эпоху при исчерпании seq или OOM; старый проход отправки прекращается.
if (conn->close_requested || conn->state == 2 || !conn->initialized || conn->session_required || conn->reinit_pending) return NULL;
struct INFLIGHT_PACKET* packet = (struct INFLIGHT_PACKET*)conn->input_send_q->head;
struct ETCP_LINK* link = NULL;
for (struct ETCP_LINK* candidate = conn->links; candidate; candidate = candidate->next)