2010-07-01 7 views

Répondre

2

En réponse à votre commentaire à propos de l'interruption de sommeil: Au lieu de tenter de forcer les signaux à travailler ici, avez-vous considéré à la place de sleep en utilisant pthread_cond_timedwait à la place? Il vous permet de dormir efficacement et fournit un mécanisme sûr pour interrompre le sommeil plus tôt via un pthread_cond_signal.

+0

Je l'ai considéré mais j'essaie d'éviter d'utiliser des conditions, si c'est possible. – lies

+0

@return: Cela semble un raisonnement étrange: éviter les variables de condition, mais recourir ensuite aux signaux, d'autant plus que vous ne semblez pas à l'aise avec les gestionnaires de signaux. Des raisons pour lesquelles? – stefaanv

0

sig est pour l'envoi du numéro de signal au thread. Les signaux standards sont décrits dans. Par exemple linux standard signals.

pthread_kill() ne supprimera pas un thread. La seule différence avec kill() est que le signal est géré par le thread désigné et n'est pas géré alors que ce thread a le signal masqué (voir pthread_sigmask()). Un signal comme SIGTERM va toujours par défaut terminer le processus entier.

Questions connexes