version 1.4, 2004/09/27 17:11:07 |
version 1.5, 2004/12/06 21:03:12 |
|
|
iov[1].iov_base = (void *)data; |
iov[1].iov_base = (void *)data; |
iov[1].iov_len = len; |
iov[1].iov_len = len; |
cnt = 2; |
cnt = 2; |
} |
} else |
else |
|
msg.cm_len = sizeof(int); /* dummy */ |
msg.cm_len = sizeof(int); /* dummy */ |
|
|
if (writev(fd, iov, cnt) == -1) { |
if (writev(fd, iov, cnt) == -1) { |
|
|
if ((ret = read(fd, &msg, sizeof(msg))) == -1) { |
if ((ret = read(fd, &msg, sizeof(msg))) == -1) { |
cvs_log(LP_ERRNO, "failed to read message header"); |
cvs_log(LP_ERRNO, "failed to read message header"); |
return (-1); |
return (-1); |
} |
} else if (ret == 0) |
else if (ret == 0) |
|
return (0); |
return (0); |
|
|
if (*len < msg.cm_len) { |
if (*len < msg.cm_len) { |
|
|
|
|
*(int *)dst = sfd; |
*(int *)dst = sfd; |
*len = sizeof(sfd); |
*len = sizeof(sfd); |
} |
} else { |
else { |
|
ret = read(fd, dst, msg.cm_len); |
ret = read(fd, dst, msg.cm_len); |
if (ret == -1) { |
if (ret == -1) { |
cvs_log(LP_ERRNO, "failed to read message"); |
cvs_log(LP_ERRNO, "failed to read message"); |
return (-1); |
return (-1); |
} |
} else if (ret == 0) { |
else if (ret == 0) { |
|
} |
} |
|
|
*len = (size_t)ret; |
*len = (size_t)ret; |