]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/net: fix Socket::read_exactly(0) case
authorYingxin Cheng <yingxincheng@gmail.com>
Thu, 21 Mar 2019 14:21:07 +0000 (22:21 +0800)
committerKefu Chai <kchai@redhat.com>
Fri, 5 Apr 2019 03:21:19 +0000 (11:21 +0800)
Do not raise read_eof when try to read 0 bytes.

Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
src/crimson/net/Socket.cc

index a22e9b2eac66fdf0cf441b70bf5a891a82a71c9d..3ea65d41a54b5f6a1247b277e6f69339fe973acd 100644 (file)
@@ -69,6 +69,9 @@ seastar::future<bufferlist> Socket::read(size_t bytes)
 
 seastar::future<seastar::temporary_buffer<char>>
 Socket::read_exactly(size_t bytes) {
+  if (bytes == 0) {
+    return seastar::make_ready_future<seastar::temporary_buffer<char>>();
+  }
   return in.read_exactly(bytes)
     .then([this](auto buf) {
       if (buf.empty()) {