Skip to content

Commit c9a751d

Browse files
committed
fix error handling in CFWriteStreamWrite
1 parent d7861e8 commit c9a751d

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,9 +335,18 @@ void CFStreamEndpointImpl::DoWrite(
335335
continue;
336336
}
337337

338-
size_t written_size =
338+
CFIndex written_size =
339339
CFWriteStreamWrite(cf_write_stream_, slice.begin(), slice.size());
340340

341+
if (written_size < 0) {
342+
auto status = CFErrorToStatus(CFWriteStreamCopyError(cf_write_stream_));
343+
GRPC_TRACE_LOG(event_engine_endpoint, INFO)
344+
<< "CFStream write error: " << status
345+
<< ", written_size: " << written_size;
346+
on_writable(status);
347+
return;
348+
}
349+
341350
total_written_size += written_size;
342351
if (written_size < slice.size()) {
343352
SliceBuffer written;

0 commit comments

Comments
 (0)