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)
ODIR:=$(ODIR_BASE)/lib/debug
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
# Release mode options
ODIR:=$(ODIR_BASE)/lib/release
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
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 )
{
NethogsAppUpdate &data = monitor_update_data[curproc->getVal()->pid];
data.action = NethogsAppUpdate::Remove;
monitor_udpate_callback(data);
monitor_update_data.erase(curproc->getVal()->pid);
NethogsAppUpdateMap::iterator it = monitor_update_data.find(curproc->getVal()->pid);
if( it != monitor_update_data.end() )
{
NethogsAppUpdate &data = it->second;
data.action = NethogsAppUpdate::Remove;
monitor_udpate_callback(data);
monitor_update_data.erase(it);
}
}
ProcList * todelete = curproc;
@@ -189,7 +193,9 @@ void NethogsMonitor::handleUpdate()
if( monitor_udpate_callback )
{
//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;
#define NHM_UPDATE_ONE_FIELD(TO,FROM) if((TO)!=(FROM)) { TO = FROM; data_change = true; }

View File

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