[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_2-107-
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_2-107-g219c71a |
Date: |
Thu, 08 Apr 2010 10:26:55 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".
The branch, master has been updated
via 219c71afaa76c282119e79a7b2c4cedc641268bd (commit)
via 84268d964119f39735f85a9b518b329da8495a44 (commit)
from bd9d319c5d2fb1314cf89184dc91d416523aa26e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 219c71afaa76c282119e79a7b2c4cedc641268bd
Author: User <address@hidden>
Date: Thu Apr 8 03:22:46 2010 -0700
Fix `writeFileHandle' and `readFileHandle' under FreeBSD 8.0 amd64
diff --git a/myserver/src/base/utility.cpp b/myserver/src/base/utility.cpp
index 4b8464e..a7b4653 100644
--- a/myserver/src/base/utility.cpp
+++ b/myserver/src/base/utility.cpp
@@ -231,22 +231,22 @@ int readFileHandle (SocketHandle s, Handle* fd)
char tbuf[4];
struct iovec iov;
int ret;
- mh.msg_name = 0;
- mh.msg_namelen = 0;
+ struct cmsghdr *cmsg;
+
+ memset (&mh, 0, sizeof (mh));
mh.msg_iov = &iov;
mh.msg_iovlen = 1;
mh.msg_control = (caddr_t) &cmh;
mh.msg_controllen = sizeof (cmh);
iov.iov_base = tbuf;
iov.iov_len = 4;
- cmh.cmh.cmsg_len = sizeof (cmh);
ret = recvmsg (s, &mh, 0);
if (ret < 0)
return ret;
- *fd = *((int *) CMSG_DATA (CMSG_FIRSTHDR (&mh)));
-
+ cmsg = CMSG_FIRSTHDR (&mh);
+ *fd = *((int *) CMSG_DATA (cmsg));
return 0;
#endif
}
@@ -268,22 +268,23 @@ int writeFileHandle (SocketHandle s, Handle fd)
struct cmsghdr cmh;
char buffer[CMSG_SPACE (sizeof (int))];
} cmh;
+ struct cmsghdr *cmsg;
char tbuf[4];
struct iovec iov;
+ iov.iov_base = tbuf;
+ iov.iov_len = 4;
+
memset (&mh, 0, sizeof (mh));
- mh.msg_name = 0;
- mh.msg_namelen = 0;
mh.msg_iov = &iov;
mh.msg_iovlen = 1;
mh.msg_control = (caddr_t) &cmh;
mh.msg_controllen = sizeof (cmh);
- mh.msg_flags = 0;
- iov.iov_base = tbuf;
- iov.iov_len = 4;
- cmh.cmh.cmsg_level = SOL_SOCKET;
- cmh.cmh.cmsg_type = SCM_RIGHTS;
- cmh.cmh.cmsg_len = sizeof (cmh);
- *((int *) CMSG_DATA (&cmh.cmh)) = fd;
+
+ cmsg = CMSG_FIRSTHDR (&mh);
+ cmsg->cmsg_len = CMSG_LEN (sizeof (int));
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_RIGHTS;
+ *(int *)CMSG_DATA (cmsg) = fd;
return sendmsg (s, &mh, 0);
#endif
commit 84268d964119f39735f85a9b518b329da8495a44
Author: User <address@hidden>
Date: Thu Apr 8 03:19:32 2010 -0700
Include NIL in the data written to the pipe
diff --git a/myserver/tests/test_unix_socket.cpp
b/myserver/tests/test_unix_socket.cpp
index b4e073e..537a60f 100644
--- a/myserver/tests/test_unix_socket.cpp
+++ b/myserver/tests/test_unix_socket.cpp
@@ -155,7 +155,7 @@ public:
CPPUNIT_ASSERT_EQUAL (sock->listen (1), 0);
pipe.create ();
- CPPUNIT_ASSERT (! pipe.write (msg, strlen (msg), &nbw));
+ CPPUNIT_ASSERT (! pipe.write (msg, strlen (msg) + 1, &nbw));
UnixSocket client;
client.socket ();
-----------------------------------------------------------------------
Summary of changes:
myserver/src/base/utility.cpp | 29 +++++++++++++++--------------
myserver/tests/test_unix_socket.cpp | 2 +-
2 files changed, 16 insertions(+), 15 deletions(-)
hooks/post-receive
--
GNU MyServer
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_2-107-g219c71a,
Giuseppe Scrivano <=