#include "stg/common.h"
#include "stg/traffcounter.h"
-#include "sg/plugin_creator.h"
+#include "stg/plugin_creator.h"
#include "divert_cap.h"
#define BUFF_LEN (16384) /* max mtu -> lo=16436 TODO why?*/
struct DIVERT_DATA {
int sock;
short int port;
-unsigned char buffer[BUFF_LEN];
char iface[10];
};
//-----------------------------------------------------------------------------
if (!isRunning)
break;
- usleep(200000);
+ struct timespec ts = {0, 200000000};
+ nanosleep(&ts, NULL);
}
//after 5 seconds waiting thread still running. now killing it
//-----------------------------------------------------------------------------
void * DIVERT_CAP::Run(void * d)
{
-DIVERT_CAP * dc = (DIVERT_CAP *)d;
+sigset_t signalSet;
+sigfillset(&signalSet);
+pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
+
+DIVERT_CAP * dc = static_cast<DIVERT_CAP *>(d);
dc->isRunning = true;
char buffer[64];
if (buffer[12] != 0x8)
continue;
- memcpy(rp.pckt, &buffer[14], pcktSize);
+ memcpy(rp.rawPacket.pckt, &buffer[14], pcktSize);
dc->traffCnt->Process(rp);
}