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

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


The following commit(s) were added to refs/heads/master by this push:
     new 7a89de7f Fix rdma complie error (#2707)
7a89de7f is described below

commit 7a89de7f336675f92fba3e426fa5b878f88daadc
Author: Bright Chen <chenguangmin...@foxmail.com>
AuthorDate: Thu Jul 25 11:10:18 2024 +0800

    Fix rdma complie error (#2707)
    
    * Fix rdma complie error
    
    * Fix ut bins
---
 .github/actions/install-all-dependences/action.yml |  2 +-
 .github/workflows/ci-linux.yml                     | 17 +++++++++--------
 src/brpc/rdma/rdma_endpoint.cpp                    |  4 ++--
 src/brpc/socket.cpp                                |  2 +-
 4 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/.github/actions/install-all-dependences/action.yml 
b/.github/actions/install-all-dependences/action.yml
index dee35111..f507aa40 100644
--- a/.github/actions/install-all-dependences/action.yml
+++ b/.github/actions/install-all-dependences/action.yml
@@ -2,7 +2,7 @@ runs:
   using: "composite"
   steps:
     - uses: ./.github/actions/install-essential-dependences
-    - run: sudo apt-get install -y libgoogle-glog-dev automake bison flex 
libboost-all-dev libevent-dev libtool pkg-config
+    - run: sudo apt-get install -y libgoogle-glog-dev automake bison flex 
libboost-all-dev libevent-dev libtool pkg-config  libibverbs1 libibverbs-dev
       shell: bash
     - run: wget 
https://archive.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz && tar -xf 
thrift-0.11.0.tar.gz
       shell: bash
diff --git a/.github/workflows/ci-linux.yml b/.github/workflows/ci-linux.yml
index 56aacee3..892ce978 100644
--- a/.github/workflows/ci-linux.yml
+++ b/.github/workflows/ci-linux.yml
@@ -61,22 +61,22 @@ jobs:
     - uses: ./.github/actions/install-all-dependences
     - uses: ./.github/actions/init-make-config
       with:
-        options: --cc=gcc --cxx=g++ --with-thrift --with-glog
+       options: --cc=gcc --cxx=g++ --with-thrift --with-glog --with-rdma
     - name: compile
       run: |
-           make -j ${{env.proc_num}}
+        make -j ${{env.proc_num}}
 
   gcc-compile-with-cmake-all-options:
     runs-on: ubuntu-20.04
     steps:
     - uses: actions/checkout@v2
     - uses: ./.github/actions/install-all-dependences
-    - name: cmake 
+    - name: cmake
       run: |
            export CC=gcc && export CXX=g++
            mkdir build
            cd build
-           cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON ..
+           cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON 
-DWITH_RDMA=ON ..
     - name: compile
       run: |
            cd build
@@ -135,7 +135,7 @@ jobs:
     - uses: ./.github/actions/install-all-dependences
     - uses: ./.github/actions/init-make-config
       with:
-        options: --cc=clang --cxx=clang++ --with-thrift --with-glog
+        options: --cc=clang --cxx=clang++ --with-thrift --with-glog --with-rdma
     - name: compile
       run: |
            make -j ${{env.proc_num}}
@@ -145,12 +145,12 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - uses: ./.github/actions/install-all-dependences
-    - name: cmake 
+    - name: cmake
       run: |
            export CC=clang && export CXX=clang++
            mkdir build
            cd build
-           cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON ..
+           cmake -DWITH_MESALINK=OFF -DWITH_GLOG=ON -DWITH_THRIFT=ON 
-DWITH_RDMA=ON ..
     - name: compile
       run: |
            cd build
@@ -170,7 +170,8 @@ jobs:
     - name: install gtest
       run: |
            sudo apt-get update
-           sudo apt-get install -y cmake libgtest-dev gdb && cd /usr/src/gtest 
&& sudo cmake . && sudo make && sudo mv lib/libgtest* /usr/lib/
+           sudo apt-get install -y cmake libgtest-dev gdb
+           cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv 
lib/libgtest* /usr/lib/
     - uses: ./.github/actions/init-make-config
       with:
         options: --cc=clang --cxx=clang++
diff --git a/src/brpc/rdma/rdma_endpoint.cpp b/src/brpc/rdma/rdma_endpoint.cpp
index 93faf4b6..4d83deac 100644
--- a/src/brpc/rdma/rdma_endpoint.cpp
+++ b/src/brpc/rdma/rdma_endpoint.cpp
@@ -1257,7 +1257,7 @@ void RdmaEndpoint::DeallocateResources() {
         if (_resource->comp_channel) {
             // destroy comp_channel will destroy this fd
             // so that we should remove it from epoll fd first
-            GetGlobalEventDispatcher(fd, 
_socket->_bthread_tag).RemoveConsumer(fd);
+            _socket->_io_event.RemoveConsumer(fd);
             fd = -1;
             if (IbvDestroyCompChannel(_resource->comp_channel) < 0) {
                 PLOG(WARNING) << "Fail to destroy CQ channel";
@@ -1273,7 +1273,7 @@ void RdmaEndpoint::DeallocateResources() {
         if (Socket::Address(_cq_sid, &s) == 0) {
             s->_user = NULL;  // do not release user (this RdmaEndpoint)
             if (fd >= 0) {
-                GetGlobalEventDispatcher(fd, 
_socket->_bthread_tag).RemoveConsumer(fd);
+                _socket->_io_event.RemoveConsumer(fd);
             }
             s->_fd = -1;  // already remove fd from epoll fd
             s->SetFailed();
diff --git a/src/brpc/socket.cpp b/src/brpc/socket.cpp
index 8fcfae9c..a5398d1a 100644
--- a/src/brpc/socket.cpp
+++ b/src/brpc/socket.cpp
@@ -749,7 +749,7 @@ int Socket::OnCreated(const SocketOptions& options) {
 #if BRPC_WITH_RDMA
     CHECK(_rdma_ep == NULL);
     if (options.use_rdma) {
-        _rdma_ep = new (std::nothrow)rdma::RdmaEndpoint(m);
+        _rdma_ep = new (std::nothrow)rdma::RdmaEndpoint(this);
         if (!_rdma_ep) {
             const int saved_errno = errno;
             PLOG(ERROR) << "Fail to create RdmaEndpoint";


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org
For additional commands, e-mail: dev-h...@brpc.apache.org

Reply via email to