All,

I am writing a program that uses select call to check if a packet is
available in the socket to read. the program has also a timer running
(setitimer) and the resulting SIGALRM is handled using a handler.

the select call is time and again interrupted by the SIGALRM signal. to
avoid this problem, I set sa_flags = SA_RESTART in sigaction structure (i
know SA_RESTART is not a universal solution).

But the program hangs after running sometime. I used strace and found that
it hangs at the system call:

futex(0x763360, FUTEX_WAIT_PRIVATE, 2, NULL

I have some idea as to for what futex is used. But unable to find why my
program hangs over there. Is it the select call that leads to calling of
futex??? apart from select and recv i don't use any other blocking
functions.


-- 
All generalizations are false.
_______________________________________________
ILUGC Mailing List:
http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
ILUGC Mailing List Guidelines:
http://ilugc.in/mailinglist-guidelines

Reply via email to