gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [libmicrohttpd] 58/154: start SENDMSG/WRITEV.


From: gnunet
Subject: [GNUnet-SVN] [libmicrohttpd] 58/154: start SENDMSG/WRITEV.
Date: Mon, 19 Aug 2019 10:16:10 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository libmicrohttpd.

commit 42e98f38c6fa85d953f275c8d9a693bc77fee7cf
Author: ng0 <address@hidden>
AuthorDate: Tue Jul 23 10:26:55 2019 +0000

    start SENDMSG/WRITEV.
---
 src/microhttpd/mhd_send.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/microhttpd/mhd_send.c b/src/microhttpd/mhd_send.c
index 210ad658..0de40a42 100644
--- a/src/microhttpd/mhd_send.c
+++ b/src/microhttpd/mhd_send.c
@@ -327,7 +327,7 @@ MHD_send_on_connection2_ (struct MHD_Connection *connection,
                           const char *buffer,
                           size_t buffer_size)
 {
-#if HAVE_WRITEV
+#if defined(HAVE_SENDMSG) || defined(HAVE_WRITEV)
   MHD_socket s = connection->socket_fd;
   bool have_cork;
   bool have_more;
@@ -363,9 +363,16 @@ MHD_send_on_connection2_ (struct MHD_Connection 
*connection,
   vector[0].iov_len = strlen (header);
   vector[1].iov_base = buffer;
   vector[1].iov_len = strlen (buffer);
+
+#if HAVE_SENDMSG
+  struct msghdr msg;
+  msg.msg_iov = vector;
+  memset(&msg, 0, sizeof(buffer + header));
+  ret = sendmsg (s, vector, MAYBE_MSG_NOSIGNAL);
+#elif HAVE_WRITEV
   iovcnt = sizeof (vector) / sizeof (struct iovec);
-  // FIXME: maybe use sendmsg() if available instead!
-  ret = writev (connection->socket_fd, vector, iovcnt);
+  ret = writev (s, vector, iovcnt);
+#endif
 
 #if TCP_CORK
   if (use_corknopush)
@@ -418,3 +425,12 @@ MHD_send_on_connection2_ (struct MHD_Connection 
*connection,
                                   MHD_SSO_HDR_CORK);
 #endif
 }
+
+ssize_t
+MHD_sendfile_on_connection_ (struct MHD_Connection *connection,
+                             const char *buffer,
+                             size_t buffer_size,
+                             enum MHD_SendSocketOptions options)
+{
+  // TODO
+}

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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