[haiku-commits] Change in haiku[master]: udp: set is_connected flag on our socket once connected.

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 1 May 2020 22:13:43 +0000

From Jérôme Duval <jerome.duval@xxxxxxxxx>:

Jérôme Duval has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/2548 ;)


Change subject: udp: set is_connected flag on our socket once connected.
......................................................................

udp: set is_connected flag on our socket once connected.
---
M src/add-ons/kernel/network/protocols/udp/udp.cpp
M src/add-ons/kernel/network/stack/net_socket.cpp
2 files changed, 9 insertions(+), 1 deletion(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/48/2548/1

diff --git a/src/add-ons/kernel/network/protocols/udp/udp.cpp 
b/src/add-ons/kernel/network/protocols/udp/udp.cpp
index 9be6d76..8d74e7c 100644
--- a/src/add-ons/kernel/network/protocols/udp/udp.cpp
+++ b/src/add-ons/kernel/network/protocols/udp/udp.cpp
@@ -384,7 +384,10 @@

        // we need to activate no matter whether or not we have just 
disconnected,
        // as calling connect() always triggers an implicit bind():
-       return _BindEndpoint(endpoint, *endpoint->LocalAddress());
+       status_t status = _BindEndpoint(endpoint, *endpoint->LocalAddress());
+       if (status == B_OK)
+               gSocketModule->set_connected(endpoint->Socket());
+       return status;
 }


diff --git a/src/add-ons/kernel/network/stack/net_socket.cpp 
b/src/add-ons/kernel/network/stack/net_socket.cpp
index 414acc5..4ca9ebb 100644
--- a/src/add-ons/kernel/network/stack/net_socket.cpp
+++ b/src/add-ons/kernel/network/stack/net_socket.cpp
@@ -829,6 +829,11 @@

        TRACE("socket_connected(%p)\n", socket);

+       if (socket->parent == NULL) {
+               socket->is_connected = true;
+               return B_OK;
+       }
+
        BReference<net_socket_private> parent = socket->parent.GetReference();
        if (parent.Get() == NULL)
                return B_BAD_VALUE;

--
To view, visit https://review.haiku-os.org/c/haiku/+/2548
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: Ie5fcc5152af813d74d33c20ed7c3e81f9e828518
Gerrit-Change-Number: 2548
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange

Other related posts:

  • » [haiku-commits] Change in haiku[master]: udp: set is_connected flag on our socket once connected. - Gerrit