Hi,
I'm implementing a Multipath Tunneling system with DCCP tunnels in ns-3 with DCE Cradle.
In the setup phase and first second of the simulation I setup my nodes, my networks and my Tunnel Client and Server Application.
Then when the first arp request comes to travel through my tunnel (when I setup the virtualNetDevice) I call the Send() of an Dccp Socket.
By this moment there are a lot (>40) of pthreads and all are waiting on a condvar. When I look at it with gdb, every pthread is in PthreadFiberManager::Yield(),
at the following line:
volatile PthreadFiberThread *thread = fiber->thread;
NS_LOG_DEBUG ("Yield after setjmp before wait");
// wait for the master thread to re-schedule us.
--> pthread_cond_wait (&((PthreadFiberThread *)thread)->condvar,
&((PthreadFiberThread *)thread)->mutex);
Even the thread with id 1 (in gdb), which is, I assume the master thread. Why does this happen? What did I do wrong?
Thank you,
-- Richard