From: Changcheng Liu Date: Tue, 10 Sep 2019 10:54:10 +0000 (+0800) Subject: msg/async/rdma: initialize some variables in-class X-Git-Tag: v15.1.0~1481^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=30a35bd58fc761dd1894a370c4fe05eba4c4c6e0;p=ceph.git 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 --- 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 {