summaryrefslogtreecommitdiff
path: root/src/anytun.cpp
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-04-15 19:33:02 +0000
committerOthmar Gsenger <otti@anytun.org>2008-04-15 19:33:02 +0000
commit7f1c5d099894e68b6e828afb89b6e0defcaffe74 (patch)
tree0b83e3bf49abade211ebf32a952d955eb82bf0ad /src/anytun.cpp
parentadded manpage for anytun-showtables (diff)
added make target anytun-nosync for basic bsd support
Diffstat (limited to 'src/anytun.cpp')
-rw-r--r--src/anytun.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/src/anytun.cpp b/src/anytun.cpp
index 5100ab8..37e21e6 100644
--- a/src/anytun.cpp
+++ b/src/anytun.cpp
@@ -61,12 +61,15 @@
#include "networkAddress.h"
#include "syncQueue.h"
+#include "syncCommand.h"
+
+#ifndef ANYTUN_NOSYNC
#include "syncSocketHandler.h"
#include "syncListenSocket.h"
#include "syncSocket.h"
#include "syncClientSocket.h"
-#include "syncCommand.h"
+#endif
#include "threadParam.h"
@@ -173,17 +176,18 @@ void* sender(void* p)
a->setKey(session_auth_key);
a->generate(encrypted_packet);
}
- try
- {
+// try
+// {
param->src.send(encrypted_packet.getBuf(), encrypted_packet.getLength(), conn.remote_host_, conn.remote_port_);
- }
- catch (Exception e)
- {
- }
+// }
+// catch (Exception e)
+// {
+// }
}
pthread_exit(NULL);
}
+#ifndef ANYTUN_NOSYNC
void* syncConnector(void* p )
{
ThreadParam* param = reinterpret_cast<ThreadParam*>(p);
@@ -217,6 +221,7 @@ void* syncListener(void* p )
h.Select(1,0);
}
}
+#endif
void* receiver(void* p)
{
@@ -480,7 +485,7 @@ int main(int argc, char* argv[])
pthread_create(&senderThread, NULL, sender, &p);
pthread_t receiverThread;
pthread_create(&receiverThread, NULL, receiver, &p);
-
+#ifndef ANYTUN_NOSYNC
pthread_t syncListenerThread;
if ( gOpt.getLocalSyncPort())
pthread_create(&syncListenerThread, NULL, syncListener, &p);
@@ -491,24 +496,27 @@ int main(int argc, char* argv[])
ThreadParam * point = new ThreadParam(dev, *src, cl, queue,*it);
pthread_create(& connectThreads.back(), NULL, syncConnector, point);
}
-
+#endif
int ret = sig.run();
pthread_cancel(senderThread);
pthread_cancel(receiverThread);
+#ifndef ANYTUN_NOSYNC
if ( gOpt.getLocalSyncPort())
pthread_cancel(syncListenerThread);
for( std::list<pthread_t>::iterator it = connectThreads.begin() ;it != connectThreads.end(); ++it)
pthread_cancel(*it);
-
+#endif
+
pthread_join(senderThread, NULL);
pthread_join(receiverThread, NULL);
+#ifndef ANYTUN_NOSYNC
if ( gOpt.getLocalSyncPort())
pthread_join(syncListenerThread, NULL);
for( std::list<pthread_t>::iterator it = connectThreads.begin() ;it != connectThreads.end(); ++it)
pthread_join(*it, NULL);
-
+#endif
delete src;
delete &p.connto;