if (ret < 0)
goto fail;
ret = send_queued_chunks(ut->fd, ut->cq, 0);
+ if (ret == -ERRNO_TO_PARA_ERROR(ECONNREFUSED))
+ ret = 0;
if (ret < 0)
goto fail;
if (!len)
return 0;
if (!ret) { /* still data left in the queue */
- ret = cq_enqueue(ut->cq, buf, len);
- if (ret < 0)
- goto fail;
+ ret = cq_force_enqueue(ut->cq, buf, len);
+ assert(ret >= 0);
}
ret = write_nonblock(ut->fd, buf, len, 0);
+ if (ret == -ERRNO_TO_PARA_ERROR(ECONNREFUSED))
+ ret = 0;
if (ret < 0)
goto fail;
if (ret != len) {
- ret = cq_enqueue(ut->cq, buf + ret, len - ret);
- if (ret < 0)
- goto fail;
+ ret = cq_force_enqueue(ut->cq, buf + ret, len - ret);
+ assert(ret >= 0);
}
return 1;
fail: