Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vcl: fix ldp writev 0 vecs
[vpp.git]
/
src
/
vcl
/
ldp.c
diff --git
a/src/vcl/ldp.c
b/src/vcl/ldp.c
index
95c0edc
..
d6e81d6
100644
(file)
--- a/
src/vcl/ldp.c
+++ b/
src/vcl/ldp.c
@@
-448,24
+448,20
@@
writev (int fd, const struct iovec * iov, int iovcnt)
vlsh = ldp_fd_to_vlsh (fd);
if (vlsh != VLS_INVALID_HANDLE)
{
vlsh = ldp_fd_to_vlsh (fd);
if (vlsh != VLS_INVALID_HANDLE)
{
- do
+ for (i = 0; i < iovcnt; ++i)
{
{
- for (i = 0; i < iovcnt; ++i)
+ rv = vls_write_msg (vlsh, iov[i].iov_base, iov[i].iov_len);
+ if (rv < 0)
+ break;
+ else
{
{
-
rv = vls_write_msg (vlsh, iov[i].iov_base, iov[i].iov_len)
;
- if (rv <
0
)
+
total += rv
;
+ if (rv <
iov[i].iov_len
)
break;
break;
- else
- {
- total += rv;
- if (rv < iov[i].iov_len)
- break;
- }
}
}
}
}
- while ((rv >= 0) && (total == 0));
- if (rv < 0)
+ if (rv < 0
&& total == 0
)
{
errno = -rv;
size = -1;
{
errno = -rv;
size = -1;