From 29ed03b11b4d39f36f602ed7b2f73714214470ed Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期六, 30 一月 2021 14:40:16 +0800
Subject: [PATCH] update

---
 src/socket/shm_socket.cpp |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/src/socket/shm_socket.cpp b/src/socket/shm_socket.cpp
index dad77b8..785eb4d 100644
--- a/src/socket/shm_socket.cpp
+++ b/src/socket/shm_socket.cpp
@@ -2,6 +2,7 @@
 #include "hashtable.h"
 #include "logger_factory.h"
 #include <map>
+#include <cassert>
 #include "bus_error.h"
 
 static Logger *logger = LoggerFactory::getLogger();
@@ -518,6 +519,10 @@
 
   if ((rv = shm_sendto(tmp_socket, send_buf, send_size, send_key, timeout, flags)) == 0) {
     rv = shm_recvfrom(tmp_socket, recv_buf, recv_size, &recv_key, timeout, flags);
+printf("======send key =%d , recv key=%d\n", send_key, recv_key);
+    assert( send_key == recv_key);
+    if(send_key != recv_key)
+      err_exit(0, "send key need to equal to recv key! send key =%d , recv key=%d", send_key, recv_key);
     return rv;
   } else {
     return rv;
@@ -546,6 +551,18 @@
 
   if ((rv = shm_sendto(tmp_socket, send_buf, send_size, send_key, timeout, flags)) == 0) {
     rv = shm_recvfrom(tmp_socket, recv_buf, recv_size, &recv_key, timeout, flags);
+    printf("======send key =%d , recv key=%d\n", send_key, recv_key);
+    
+    if(rv != 0) {
+      printf("_shm_sendandrecv_alloc_new shm_recvfrom : %s\n", bus_strerror(rv));
+    }
+    else if(rv == 0 ) {
+      assert( send_key == recv_key);
+      if(send_key != recv_key) {
+         err_exit(0, "send key need to equal to recv key! send key =%d , recv key=%d", send_key, recv_key);
+      }
+     
+    }
   } 
    
   shm_close_socket(tmp_socket);  
@@ -556,7 +573,7 @@
 int shm_sendandrecv(shm_socket_t *socket, const void *send_buf,
                     const int send_size, const int send_key, void **recv_buf,
                     int *recv_size,  const struct timespec *timeout,  int flags) {
-  return  _shm_sendandrecv_thread_local(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout,  flags);
+  return  _shm_sendandrecv_alloc_new(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout,  flags);
 }
 
 

--
Gitblit v1.8.0