I am facing a problem relating to suspension of some threads/processes. Once entered into sigsuspend it won't resume from that.
Its happening at 4/5 different places more often in our code.
here is an example gdb output
#0 0x0fe9fb3c in sigsuspend () from /lib/libc.so.6
#1 0x0fe0409c in pthread_getconcurrency () from /lib/libpthread.so.0
#2 0x0fe03884 in pthread_create () from /lib/libpthread.so.0
#3 0x0ffd364c in shm_unlink () from /lib/librt.so.1
#4 0x0ffd2218 in timer_create () from /lib/librt.so.1
Let me know how to solve this problem.
Remember that sigsuspend puts the thread to sleep for signals that will arrive in the future. If the signal was not previously blocked (sigprocmask), and it happened before you waited for it, you won't get it.
Carefully review the entire set of signal-handling routines available and see if you're really using the right one for your intended application. (sigwaitinfo?)
|All times are GMT -5. The time now is 01:25 AM.|