Mã "đồ chơi" sau đại diện cho sự cố tôi đang gặp phải trong cơ sở mã lớn hơn sử dụng POSIX timers.: ‘struct sigevent’ không có thành viên nào có tên ‘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;
}
Khi tôi cố gắng biên dịch nó bằng cách sử g++
trên một máy Linux Tôi nhận được lỗi:
error: ‘struct sigevent’ has no member named ‘sigev_notify_thread_id’
Có một lý do tại sao? This dẫn tôi tin rằng cấu trúc sigevent
có thành viên được gọi là sigev_notify_thread_id
.
Cảm ơn @Duck. 'sevp._sigev_un._tid' và dòng 295" ở đây - http://lxr.free-electrons.com/source/include/uapi/asm-generic/siginfo.h#L295 "đã khắc phục được sự cố của tôi. Đăng câu trả lời đó và tôi sẽ chấp nhận! – dinkelk