I am developing a multicast protocol that uses pthreads. I find that when I
run it in the de* it will hang forever. If I hit ^-C and investigate,
it looks like it should be running fine. I then type continue on all the
threads and it continues just fine. The program uses 6 threads, one thread
typically waits in pthread_cond_timedwait. Other threads are usually
sleeping with pthread_cond_wait. I am not using any signals.
If I don't use the de* the program will crash, or hang because I
haven't figured out all the bugs. But it is a real pain to debug without the
de*, and it is time consuming to have to constantly unstick it by doing
^-C continue in the de*. Sometimes it doesn't continue, and then I know
it is hung because of my code.
Does anyone know how the de* could be altering pthreads?
I am using 2.2.12, gdb 22.214.171.124, pthread 0.8, libc 2.1.1.
Pacific Northwest Software