Il seguente codice "giocattolo" rappresenta un problema che sto riscontrando in una base di codice più grande utilizzando POSIX timers.: 'struct sigevent' non ha un membro chiamato 'sigev_notify_thread_id'
#include <time.h>
#include <errno.h>
#include <signal.h>
#include <iostream>
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;
}
Quando provo a compilare utilizzando g++
su una macchina Linux ottengo l'errore:
error: ‘struct sigevent’ has no member named ‘sigev_notify_thread_id’
C'è una ragione per cui? This mi porta a credere che la struttura sigevent
abbia un membro chiamato sigev_notify_thread_id
.
Grazie a @Duck. 'sevp._sigev_un._tid' e riga 295" qui - http://lxr.free-electrons.com/source/include/uapi/asm-generic/siginfo.h#L295 "ha risolto il problema. Pubblicalo come risposta e accetterò! – dinkelk