[send|recv]msg tidy
Brian Ford
Brian.Ford@flightsafety.com
Thu Jul 27 03:03:00 GMT 2006
Ok, I'll try this one.
2006-07-26 Brian Ford <Brian.Ford@FlightSafety.com>
* fhandler_socket.cc (fhandler_socket::recvmsg): Remove unused tot
argument. All callers changed.
(fhandler_socket::sendmsg): Likewise.
* net.cc (cygwin_recvmsg): Likewise.
(cygwin_sendmsg): Likewise, and prevent calling sendmsg whith an
invalid iovec.
* fhandler.h (fhandler_socket::recvmsg): Adjust prototype.
(fhandler_socket::sendmsg): Likewise.
--
Brian Ford
Lead Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
the best safety device in any aircraft is a well-trained crew...
-------------- next part --------------
Index: fhandler.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/fhandler.h,v
retrieving revision 1.299
diff -u -p -u -p -r1.299 fhandler.h
--- fhandler.h 25 Jul 2006 19:23:23 -0000 1.299
+++ fhandler.h 27 Jul 2006 02:39:20 -0000
@@ -463,14 +463,14 @@ class fhandler_socket: public fhandler_b
struct sockaddr *from, int *fromlen);
ssize_t recvfrom (void *ptr, size_t len, int flags,
struct sockaddr *from, int *fromlen);
- ssize_t recvmsg (struct msghdr *msg, int flags, ssize_t tot = -1);
+ ssize_t recvmsg (struct msghdr *msg, int flags);
ssize_t writev (const struct iovec *, int iovcnt, ssize_t tot = -1);
inline ssize_t send_internal (struct _WSABUF *wsabuf, DWORD wsacnt, int flags,
const struct sockaddr *to, int tolen);
ssize_t sendto (const void *ptr, size_t len, int flags,
const struct sockaddr *to, int tolen);
- ssize_t sendmsg (const struct msghdr *msg, int flags, ssize_t tot = -1);
+ ssize_t sendmsg (const struct msghdr *msg, int flags);
int ioctl (unsigned int cmd, void *);
int fcntl (int cmd, void *);
Index: fhandler_socket.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/fhandler_socket.cc,v
retrieving revision 1.192
diff -u -p -u -p -r1.192 fhandler_socket.cc
--- fhandler_socket.cc 25 Jul 2006 19:23:23 -0000 1.192
+++ fhandler_socket.cc 27 Jul 2006 02:39:21 -0000
@@ -1247,7 +1247,7 @@ fhandler_socket::readv (const struct iov
msg_flags: 0
};
- return recvmsg (&msg, 0, tot);
+ return recvmsg (&msg, 0);
}
inline ssize_t
@@ -1311,7 +1311,7 @@ fhandler_socket::recvfrom (void *ptr, si
}
int
-fhandler_socket::recvmsg (struct msghdr *msg, int flags, ssize_t tot)
+fhandler_socket::recvmsg (struct msghdr *msg, int flags)
{
if (CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR)
((struct OLD_msghdr *) msg)->msg_accrightslen = 0;
@@ -1360,7 +1360,7 @@ fhandler_socket::writev (const struct io
msg_flags: 0
};
- return sendmsg (&msg, 0, tot);
+ return sendmsg (&msg, 0);
}
inline ssize_t
@@ -1417,7 +1417,7 @@ fhandler_socket::sendto (const void *ptr
}
int
-fhandler_socket::sendmsg (const struct msghdr *msg, int flags, ssize_t tot)
+fhandler_socket::sendmsg (const struct msghdr *msg, int flags)
{
if (get_addr_family () == AF_LOCAL)
{
Index: net.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/net.cc,v
retrieving revision 1.214
diff -u -p -u -p -r1.214 net.cc
--- net.cc 25 Jul 2006 19:23:23 -0000 1.214
+++ net.cc 27 Jul 2006 02:39:21 -0000
@@ -2070,7 +2070,7 @@ cygwin_recvmsg (int fd, struct msghdr *m
{
res = check_iovec_for_read (msg->msg_iov, msg->msg_iovlen);
if (res > 0)
- res = fh->recvmsg (msg, flags, res); // res == iovec tot
+ res = fh->recvmsg (msg, flags);
}
syscall_printf ("%d = recvmsg (%d, %p, %x)", res, fd, msg, flags);
@@ -2092,7 +2092,8 @@ cygwin_sendmsg (int fd, const struct msg
else
{
res = check_iovec_for_write (msg->msg_iov, msg->msg_iovlen);
- res = fh->sendmsg (msg, flags, res); // res == iovec tot
+ if (res >= 0)
+ res = fh->sendmsg (msg, flags);
}
syscall_printf ("%d = sendmsg (%d, %p, %x)", res, fd, msg, flags);
More information about the Cygwin-patches
mailing list