From 30a35bd58fc761dd1894a370c4fe05eba4c4c6e0 Mon Sep 17 00:00:00 2001 From: Changcheng Liu Date: Tue, 10 Sep 2019 18:54:10 +0800 Subject: [PATCH] msg/async/rdma: initialize some variables in-class 1. initialize RDMAServerSocketImpl member 2. initialize RDMAConnectedSocketImpl member 3. pollfd::revents Though it won't result in any error here, it's better to initialize the pollfd structure obj's revents to be 0. Signed-off-by: Changcheng Liu --- src/msg/async/rdma/RDMAIWARPServerSocketImpl.cc | 1 + src/msg/async/rdma/RDMAStack.h | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/msg/async/rdma/RDMAIWARPServerSocketImpl.cc b/src/msg/async/rdma/RDMAIWARPServerSocketImpl.cc index 0d03219fd5a..35ab239c861 100644 --- a/src/msg/async/rdma/RDMAIWARPServerSocketImpl.cc +++ b/src/msg/async/rdma/RDMAIWARPServerSocketImpl.cc @@ -60,6 +60,7 @@ int RDMAIWARPServerSocketImpl::accept(ConnectedSocket *sock, const SocketOptions struct pollfd pfd = { .fd = cm_channel->fd, .events = POLLIN, + .revents = 0, }; int ret = poll(&pfd, 1, 0); ceph_assert(ret >= 0); diff --git a/src/msg/async/rdma/RDMAStack.h b/src/msg/async/rdma/RDMAStack.h index 5424b337a43..72b9042256d 100644 --- a/src/msg/async/rdma/RDMAStack.h +++ b/src/msg/async/rdma/RDMAStack.h @@ -274,13 +274,13 @@ class RDMAIWARPConnectedSocketImpl : public RDMAConnectedSocketImpl { void close_notify(); private: - rdma_cm_id *cm_id; - rdma_event_channel *cm_channel; + rdma_cm_id *cm_id = nullptr; + rdma_event_channel *cm_channel = nullptr; EventCallbackRef cm_con_handler; std::mutex close_mtx; std::condition_variable close_condition; - bool closed; - RDMA_CM_STATUS status; + bool closed = false; + RDMA_CM_STATUS status = IDLE; class C_handle_cm_connection : public EventCallback { @@ -324,8 +324,8 @@ class RDMAIWARPServerSocketImpl : public RDMAServerSocketImpl { virtual int accept(ConnectedSocket *s, const SocketOptions &opts, entity_addr_t *out, Worker *w) override; virtual void abort_accept() override; private: - rdma_cm_id *cm_id; - rdma_event_channel *cm_channel; + rdma_cm_id *cm_id = nullptr; + rdma_event_channel *cm_channel = nullptr; }; class RDMAStack : public NetworkStack { -- 2.47.3