Support build in c++0x on linux and osx

This commit is contained in:
Mohamed Boussaffa
2016-03-04 22:44:30 +08:00
parent c6ceac7bf8
commit 8638379ffd
3 changed files with 14 additions and 7 deletions

View File

@@ -18,12 +18,12 @@ ifeq ($(DEBUG),1)
$(info Bulding debug version) $(info Bulding debug version)
ODIR:=$(ODIR_BASE)/lib/debug ODIR:=$(ODIR_BASE)/lib/debug
CFLAGS?=-Wall -Wextra -O0 -g -fPIC $(VISIBILITY) CFLAGS?=-Wall -Wextra -O0 -g -fPIC $(VISIBILITY)
CXXFLAGS?=--std=c++11 --std=c++11 -Wall -Wextra -O0 -g -fPIC $(VISIBILITY) $(CXXINCLUDES) CXXFLAGS?=-Wall --std=c++0x -Wextra -O0 -g -fPIC $(VISIBILITY) $(CXXINCLUDES)
else else
# Release mode options # Release mode options
ODIR:=$(ODIR_BASE)/lib/release ODIR:=$(ODIR_BASE)/lib/release
CFLAGS?=-Wall -Wextra -O3 -fPIC $(VISIBILITY) CFLAGS?=-Wall -Wextra -O3 -fPIC $(VISIBILITY)
CXXFLAGS?=-Wall --std=c++11 -Wextra -O3 -fPIC $(VISIBILITY) $(CXXINCLUDES) CXXFLAGS?=-Wall --std=c++0x -Wextra -O3 -fPIC $(VISIBILITY) $(CXXINCLUDES)
endif endif
OBJ_NAMES= libnethogs.o packet.o connection.o process.o refresh.o decpcap.o inode2prog.o conninode.o devices.o OBJ_NAMES= libnethogs.o packet.o connection.o process.o refresh.o decpcap.o inode2prog.o conninode.o devices.o

View File

@@ -154,10 +154,14 @@ void NethogsMonitor::handleUpdate()
if( monitor_udpate_callback ) if( monitor_udpate_callback )
{ {
NethogsAppUpdate &data = monitor_update_data[curproc->getVal()->pid]; NethogsAppUpdateMap::iterator it = monitor_update_data.find(curproc->getVal()->pid);
data.action = NethogsAppUpdate::Remove; if( it != monitor_update_data.end() )
monitor_udpate_callback(data); {
monitor_update_data.erase(curproc->getVal()->pid); NethogsAppUpdate &data = it->second;
data.action = NethogsAppUpdate::Remove;
monitor_udpate_callback(data);
monitor_update_data.erase(it);
}
} }
ProcList * todelete = curproc; ProcList * todelete = curproc;
@@ -189,7 +193,9 @@ void NethogsMonitor::handleUpdate()
if( monitor_udpate_callback ) if( monitor_udpate_callback )
{ {
//notify update //notify update
NethogsAppUpdate &data = monitor_update_data[pid]; NethogsAppUpdate &data =
monitor_update_data.insert(std::make_pair(pid, NethogsAppUpdate())).first->second;
bool data_change = false; bool data_change = false;
#define NHM_UPDATE_ONE_FIELD(TO,FROM) if((TO)!=(FROM)) { TO = FROM; data_change = true; } #define NHM_UPDATE_ONE_FIELD(TO,FROM) if((TO)!=(FROM)) { TO = FROM; data_change = true; }

View File

@@ -1,6 +1,7 @@
#ifndef LIBNETHOGS_H_ #ifndef LIBNETHOGS_H_
#define LIBNETHOGS_H_ #define LIBNETHOGS_H_
#include <stdint.h>
#include <string> #include <string>
#define NETHOGS_DSO_VISIBLE __attribute__ ((visibility ("default"))) #define NETHOGS_DSO_VISIBLE __attribute__ ((visibility ("default")))