Vérifie que tu as bien #include <pthread.h> et <signal.h>, dans cet ordre.
Essaie de linker également avec l'option -lrt : je crois que pthread_kill() fait partie des extensions temps-réel de posix qui, dans le domaine des signaux multithreadés, sont ce qu'il se conçoit de plus simple -- pour placer des bugs dans le code s'entend.
Sinon je ne vois pas d'autres pistes ? Le fait que ton linker connaisse le type des arguments de la fonction manquante me fait penser à un problème de C/C++. pthread_kill() ne serait pas déclarée extern "C" ??
Enfin si : supprimer les appels à pthread_kill() et pthread_cancel() de ton code : en plus de lier correctement, tu enlèveras des bugs. Ou alors, sois paranoïaque et relis cinq fois la documentation. Le livre "Programmation système en C sous Linux" de Blaess (une référence) décrit très bien les problèmes auxquels on s'expose avec ces p*** de fonctions, et comment les éviter (c'est quasi impossible).
[^] # Re: mes 2cts
Posté par Laurent Morel . En réponse au message undefined reference pthread_kill. Évalué à 2.
Essaie de linker également avec l'option -lrt : je crois que pthread_kill() fait partie des extensions temps-réel de posix qui, dans le domaine des signaux multithreadés, sont ce qu'il se conçoit de plus simple -- pour placer des bugs dans le code s'entend.
Sinon je ne vois pas d'autres pistes ? Le fait que ton linker connaisse le type des arguments de la fonction manquante me fait penser à un problème de C/C++. pthread_kill() ne serait pas déclarée extern "C" ??
Enfin si : supprimer les appels à pthread_kill() et pthread_cancel() de ton code : en plus de lier correctement, tu enlèveras des bugs. Ou alors, sois paranoïaque et relis cinq fois la documentation. Le livre "Programmation système en C sous Linux" de Blaess (une référence) décrit très bien les problèmes auxquels on s'expose avec ces p*** de fonctions, et comment les éviter (c'est quasi impossible).