fix(channel): handle socket accept failure #41240

(cherry picked from commit 4b8c4dfc68)
This commit is contained in:
HX L
2026-08-10 16:11:27 +08:00
committed by github-actions[bot]
parent f93cb68717
commit 92aa95bd47

View File

@@ -524,7 +524,12 @@ end:
void channel_from_connection(SocketWatcher *watcher)
{
Channel *channel = channel_alloc(kChannelStreamSocket);
socket_watcher_accept(watcher, &channel->stream.socket);
int result = socket_watcher_accept(watcher, &channel->stream.socket);
if (result != 0) {
ELOG("Failed to accept connection: %s", uv_strerror(result));
channel_destroy_early(channel);
return;
}
channel->stream.socket.s.internal_close_cb = close_cb;
channel->stream.socket.s.internal_data = channel;
wstream_init(&channel->stream.socket.s, 0);