From d1dedcb21e7ba074a0a83fad09a742e54a8d1525 Mon Sep 17 00:00:00 2001 From: Alberto Compagno Date: Wed, 13 Feb 2019 15:06:23 +0100 Subject: [HICN-60] Solved concurrent memory access which was leading to seg-fault Change-Id: I7b9fcf79bb97650346f7d92af8cbb419f0a5cb95 Signed-off-by: Alberto Compagno --- libtransport/src/hicn/transport/utils/epoll_event_reactor.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'libtransport/src/hicn/transport/utils/epoll_event_reactor.cc') diff --git a/libtransport/src/hicn/transport/utils/epoll_event_reactor.cc b/libtransport/src/hicn/transport/utils/epoll_event_reactor.cc index 81b471857..6df9e5656 100644 --- a/libtransport/src/hicn/transport/utils/epoll_event_reactor.cc +++ b/libtransport/src/hicn/transport/utils/epoll_event_reactor.cc @@ -51,10 +51,9 @@ int EpollEventReactor::addFileDescriptor(int fd, uint32_t events) { int EpollEventReactor::addFileDescriptor(int fd, uint32_t events, EventCallback &callback) { auto it = event_callback_map_.find(fd); - event_callback_map_[fd] = callback; - if (it != event_callback_map_.end()) { + + if (it == event_callback_map_.end()) { event_callback_map_[fd] = callback; - } else { return addFileDescriptor(fd, events); } @@ -64,10 +63,9 @@ int EpollEventReactor::addFileDescriptor(int fd, uint32_t events, int EpollEventReactor::addFileDescriptor(int fd, uint32_t events, EventCallback &&callback) { auto it = event_callback_map_.find(fd); - event_callback_map_[fd] = callback; - if (it != event_callback_map_.end()) { + + if (it == event_callback_map_.end()) { event_callback_map_[fd] = callback; - } else { return addFileDescriptor(fd, events); } -- cgit 1.2.3-korg