]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async/EventKqueue: assert on OOM 21488/head
authorKefu Chai <kchai@redhat.com>
Wed, 18 Apr 2018 06:20:05 +0000 (14:20 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 18 Apr 2018 06:20:05 +0000 (14:20 +0800)
Signed-off-by: Kefu Chai <kchai@redhat.com>
src/msg/async/EventKqueue.cc

index cc609cc76bad135732de9b566368b3a19af00b58..6db3a3e8ab15da4f7798cddfa51e331728301ee9 100644 (file)
@@ -198,15 +198,14 @@ int KqueueDriver::resize_events(int newsize)
 {
   ldout(cct,30) << __func__ << " kqfd = " << kqfd << "newsize = " << newsize 
                 << dendl;
-  if(newsize > sav_max) {
-    void *_realloc = NULL;
-    if ((_realloc = realloc(sav_events, sizeof(struct SaveEvent)*newsize)) == NULL) {
+  if (newsize > sav_max) {
+    sav_events = realloc(sav_events, sizeof(struct SaveEvent)*newsize);
+    if (!sav_events) {
       lderr(cct) << __func__ << " unable to realloc memory: "
                              << cpp_strerror(errno) << dendl;
-      free(sav_events);
+      assert(sav_events);
       return -ENOMEM;
     }
-    sav_events = (struct SaveEvent*)_realloc;
     memset(&sav_events[size], 0, sizeof(struct SaveEvent)*(newsize-sav_max));
     sav_max = newsize;
   }