]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Fix compile warning unused-result 5623/head
authorHaomai Wang <haomaiwang@gmail.com>
Thu, 20 Aug 2015 15:17:56 +0000 (23:17 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Fri, 21 Aug 2015 06:16:17 +0000 (14:16 +0800)
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/msg/async/Event.cc

index ec3db87740223320f320e4701db4ef880ad5bd57..79bff33673d0a70040d741e8c248c233a039c890 100644 (file)
 #define dout_subsys ceph_subsys_ms
 
 #undef dout_prefix
-#define dout_prefix _event_prefix(_dout)
-ostream& EventCenter::_event_prefix(std::ostream *_dout)
-{
-  return *_dout << "Event(" << this << " owner=" << get_owner() << " nevent=" << nevent
-                << " time_id=" << time_event_next_id << ").";
-}
-
+#define dout_prefix *_dout << "EventCallback "
 class C_handle_notify : public EventCallback {
   EventCenter *center;
+  CephContext *cct;
 
  public:
-  C_handle_notify(EventCenter *c): center(c) {}
+  C_handle_notify(EventCenter *c, CephContext *cc): center(c), cct(cc) {}
   void do_request(int fd_or_id) {
     char c[256];
+    int r;
     do {
       center->already_wakeup.set(0);
-      read(fd_or_id, c, sizeof(c));
+      r = read(fd_or_id, c, sizeof(c));
+      if (r < 0) {
+        ldout(cct, 1) << __func__ << " read notify pipe failed: " << cpp_strerror(errno) << dendl;
+        break;
+      }
     } while (center->already_wakeup.read());
   }
 };
 
+#undef dout_prefix
+#define dout_prefix _event_prefix(_dout)
+
+ostream& EventCenter::_event_prefix(std::ostream *_dout)
+{
+  return *_dout << "Event(" << this << " owner=" << get_owner() << " nevent=" << nevent
+                << " time_id=" << time_event_next_id << ").";
+}
+
 int EventCenter::init(int n)
 {
   // can't init multi times
@@ -99,7 +108,7 @@ int EventCenter::init(int n)
   memset(file_events, 0, sizeof(FileEvent)*n);
 
   nevent = n;
-  create_file_event(notify_receive_fd, EVENT_READABLE, EventCallbackRef(new C_handle_notify(this)));
+  create_file_event(notify_receive_fd, EVENT_READABLE, EventCallbackRef(new C_handle_notify(this, cct)));
   return 0;
 }