From 57e34dc308da411cbc795494c1026f55c3fe7ee7 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Fri, 9 Sep 2022 11:28:00 +0800 Subject: [PATCH] fix(rpc): handle write failure --- source/libs/transport/src/transCli.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/libs/transport/src/transCli.c b/source/libs/transport/src/transCli.c index dc2d937c49..0361be2b13 100644 --- a/source/libs/transport/src/transCli.c +++ b/source/libs/transport/src/transCli.c @@ -779,7 +779,13 @@ void cliSend(SCliConn* pConn) { uv_buf_t wb = uv_buf_init((char*)pHead, msgLen); uv_write_t* req = transReqQueuePush(&pConn->wreqQueue); - uv_write(req, (uv_stream_t*)pConn->stream, &wb, 1, cliSendCb); + + int status = uv_write(req, (uv_stream_t*)pConn->stream, &wb, 1, cliSendCb); + if (status != 0) { + tGError("%s conn %p failed to sent msg:%s, errmsg:%s", CONN_GET_INST_LABEL(pConn), pConn, TMSG_INFO(pMsg->msgType), + uv_err_name(status)); + cliHandleExcept(pConn); + } return; _RETURN: return;