cangen: do_send_one(): use sendmsg() instead of write()
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>pull/389/head
parent
759524f02c
commit
9dff4b6393
10
cangen.c
10
cangen.c
|
|
@ -200,11 +200,19 @@ static void sigterm(int signo)
|
|||
|
||||
static int do_send_one(int fd, void *buf, size_t len, int timeout)
|
||||
{
|
||||
struct iovec iov = {
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
struct msghdr msg = {
|
||||
.msg_iov = &iov,
|
||||
.msg_iovlen = 1,
|
||||
};
|
||||
ssize_t nbytes;
|
||||
int ret;
|
||||
|
||||
resend:
|
||||
nbytes = write(fd, buf, len);
|
||||
nbytes = sendmsg(fd, &msg, 0);
|
||||
if (nbytes < 0) {
|
||||
ret = -errno;
|
||||
if (ret != -ENOBUFS) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue