I’m have a pthread function, which sleeps most of the time using usleep()
I would like to send a signal from the main process to the thread to interrupt the sleeping sometimes.
The problem is that I can’t find any reference of which signal exactly to send using pthread_kill()
the usleep() man page, states that SIGALRM should not be used together with usleep()
Do I need to use a specific signal, it doesn’t matter ?
Advertisement
Answer
usleep returns with EINTR on every signal that’s delivered to a thread/process. You’ll probably be best off using SIGUSR signals.
Also, usleep is now obsolete : consider using nanosleep instead. As an added bonus, you’ll know how much sleep time was remaining at the time of the delivery of the signal.