Le code “jouet” suivant représente un problème que je rencontre dans une base de code plus grande utilisant des temporisateurs POSIX .
#include #include #include #include using namespace std; int main() { struct sigevent sevp; long threadId = 5; sevp.sigev_notify = SIGEV_THREAD_ID; sevp.sigev_notify_thread_id = threadId; return 0; }
Lorsque j’essaie de le comstackr en utilisant g++
sur une machine Linux, j’obtiens l’erreur suivante:
error: 'struct sigevent' has no member named 'sigev_notify_thread_id'
Y a-t-il une raison pour laquelle? Cela m’amène à croire que la structure sigevent
a un membre appelé sigev_notify_thread_id
.
Changer sevp.sigev_notify_thread_id
en sevp._sigev_un._tid
résolu mon problème. Vous pouvez voir la définition sur la ligne 295 ici .
Merci à @Duck pour le commentaire utile.