myserver-commit
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]