diff options
author | Poornima G <pgurusid@redhat.com> | 2015-02-23 16:10:33 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-03-02 00:56:07 -0800 |
commit | 60cff8ab4f5fa2ee7bea028937ba23674e1ee0cc (patch) | |
tree | 177930f503c785db6113fa77df0892ab647dfd0b | |
parent | 4f143bfe4eabc34c5682a3b0421092e5e22ee507 (diff) |
epoll: Fix a leak in slot allocation.
When the slots_used in a table becomes 0, the table will not
get reused, leading to a leak.
This patch fixes the leak.
Change-Id: Ib86826d287368174ea7ebe0d0d64b2dec574634e
BUG: 1093594
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/9725
Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-by: Prashanth Pai <ppai@redhat.com>
Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | libglusterfs/src/event-epoll.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libglusterfs/src/event-epoll.c b/libglusterfs/src/event-epoll.c index 62085dbef10..ff191129da0 100644 --- a/libglusterfs/src/event-epoll.c +++ b/libglusterfs/src/event-epoll.c @@ -88,7 +88,9 @@ __event_slot_alloc (struct event_pool *event_pool, int fd) table = __event_newtable (event_pool, i); if (!table) return -1; - } + } else { + table = event_pool->ereg[i]; + } break; default: table = event_pool->ereg[i]; |