git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New style tut-headers
[stg.git]
/
projects
/
stargazer
/
plugins
/
capture
/
divert_freebsd
/
divert_cap.cpp
diff --git
a/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
b/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
index 603c520994bf11fa8075f4f36a0ab41ffa7d4343..9a9d154300ae231a960b12bc0a1c4b8e30961064 100644
(file)
--- a/
projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
+++ b/
projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
@@
-80,7
+80,10
@@
return "Divert_cap v.1.0";
}
//-----------------------------------------------------------------------------
DIVERT_CAP::DIVERT_CAP()
}
//-----------------------------------------------------------------------------
DIVERT_CAP::DIVERT_CAP()
- : port(0),
+ : settings(),
+ port(0),
+ errorStr(),
+ thread(),
nonstop(false),
isRunning(false),
traffCnt(NULL)
nonstop(false),
isRunning(false),
traffCnt(NULL)
@@
-127,7
+130,8
@@
for (i = 0; i < 25; i++)
if (!isRunning)
break;
if (!isRunning)
break;
- usleep(200000);
+ struct timespec ts = {0, 200000000};
+ nanosleep(&ts, NULL);
}
//after 5 seconds waiting thread still running. now killing it
}
//after 5 seconds waiting thread still running. now killing it
@@
-146,7
+150,11
@@
return 0;
//-----------------------------------------------------------------------------
void * DIVERT_CAP::Run(void * d)
{
//-----------------------------------------------------------------------------
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];
dc->isRunning = true;
char buffer[64];