From 6e93b5f9512f673053583896f4c0b492d5165eb9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 6 May 2016 09:58:51 -0400 Subject: [PATCH] msg/async/AsyncMessenger: use set_sockaddr for getsockname Signed-off-by: Sage Weil --- src/msg/async/AsyncMessenger.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/msg/async/AsyncMessenger.cc b/src/msg/async/AsyncMessenger.cc index c12ee8e21bb27..ded2cedeca48c 100644 --- a/src/msg/async/AsyncMessenger.cc +++ b/src/msg/async/AsyncMessenger.cc @@ -158,8 +158,9 @@ int Processor::bind(const entity_addr_t &bind_addr, const set& avoid_ports) } // what port did we get? - socklen_t llen = sizeof(listen_addr.ss_addr()); - rc = getsockname(listen_sd, (sockaddr*)&listen_addr.ss_addr(), &llen); + sockaddr_storage ss; + socklen_t llen = sizeof(ss); + rc = getsockname(listen_sd, (sockaddr*)&ss, &llen); if (rc < 0) { rc = -errno; lderr(msgr->cct) << __func__ << " failed getsockname: " << cpp_strerror(rc) << dendl; @@ -167,6 +168,7 @@ int Processor::bind(const entity_addr_t &bind_addr, const set& avoid_ports) listen_sd = -1; return rc; } + listen_addr.set_sockaddr((sockaddr*)&ss); ldout(msgr->cct, 10) << __func__ << " bound to " << listen_addr << dendl; -- 2.39.5