When write get -1, if error is EINTR or EAGAIN, try again.
Change-Id: I98385a07311e8925358c4ad1038ced2028705387
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
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;