You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ma...@apache.org on 2017/06/29 00:50:41 UTC

[trafficserver] 01/02: Fix UnixUDPNet

This is an automated email from the ASF dual-hosted git repository.

masaori pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 3686807f3906c6dc132683f34b981da2d8910309
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Tue Jun 13 15:25:27 2017 +0900

    Fix UnixUDPNet
---
 iocore/net/UnixUDPNet.cc | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/iocore/net/UnixUDPNet.cc b/iocore/net/UnixUDPNet.cc
index 1a201c2..f54f74d 100644
--- a/iocore/net/UnixUDPNet.cc
+++ b/iocore/net/UnixUDPNet.cc
@@ -574,7 +574,9 @@ UDPNetProcessor::UDPBind(Continuation *cont, sockaddr const *addr, int send_bufs
   int fd               = -1;
   UnixUDPConnection *n = nullptr;
   IpEndpoint myaddr;
-  int myaddr_len = sizeof(myaddr);
+  int myaddr_len     = sizeof(myaddr);
+  PollCont *pc       = nullptr;
+  PollDescriptor *pd = nullptr;
 
   if ((res = socketManager.socket(addr->sa_family, SOCK_DGRAM, 0)) < 0) {
     goto Lerror;
@@ -616,6 +618,12 @@ UDPNetProcessor::UDPBind(Continuation *cont, sockaddr const *addr, int send_bufs
   n->setBinding(&myaddr.sa);
   n->bindToThread(cont);
 
+  pc = get_UDPPollCont(n->ethread);
+  pd = pc->pollDescriptor;
+
+  n->ethread->ep = (EventIO *)ats_malloc(sizeof(EventIO));
+  n->ethread->ep->start(pd, n, EVENTIO_READ);
+
   cont->handleEvent(NET_EVENT_DATAGRAM_OPEN, n);
   return ACTION_RESULT_DONE;
 Lerror:
@@ -765,8 +773,8 @@ UDPQueue::SendUDPPacket(UDPPacketInternal *p, int32_t /* pktLen ATS_UNUSED */)
   msg.msg_controllen = 0;
   msg.msg_flags      = 0;
 #endif
-  msg.msg_name    = (caddr_t)&p->to;
-  msg.msg_namelen = sizeof(p->to);
+  msg.msg_name    = (caddr_t)&p->to.sa;
+  msg.msg_namelen = sizeof(p->to.sa);
   iov_len         = 0;
 
   for (IOBufferBlock *b = p->chain.get(); b != nullptr; b = b->next.get()) {

-- 
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.