From: Junkyeong Kim Date: Mon, 30 Oct 2023 06:37:39 +0000 (+0900) Subject: Add retry when write fail occured X-Git-Tag: accepted/tizen/unified/20231103.163813~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=99f6745037c32d3cbd16cda94e47c4a43e387668;p=platform%2Fcore%2Fuifw%2Fcbhm.git Add retry when write fail occured When write get -1, if error is EINTR or EAGAIN, try again. Change-Id: I98385a07311e8925358c4ad1038ced2028705387 Signed-off-by: Junkyeong Kim --- diff --git a/src/cbhm.c b/src/cbhm.c index 8bae588..d578769 100644 --- a/src/cbhm.c +++ b/src/cbhm.c @@ -224,7 +224,14 @@ _data_source_send(void *data, struct wl_data_source *source, const char *mime_ty DBG("[CBHM][SENDING] ====>> fd(%d), len(%d), data(%s)\n", fd, size_ret, buf); while (len_written < size_ret) { ret = write(fd, cur_buf, len_remained); - if (ret == -1) break; + if (ret == -1) { + if (errno == EINTR || errno == EAGAIN) { + continue; + } else { + ERR("[CBHM]_data_source_send : write fail.(%d) %m\n", errno); + break; + } + } cur_buf += ret; len_written += ret; len_remained -= ret;