2013-05-30 9 views
8

निम्नलिखित "खिलौना" कोड एक समस्या का प्रतिनिधित्व करता है जिसमें मुझे POSIX timers का उपयोग करके एक बड़े कोड बेस में है।त्रुटि: 'संरचना sigevent' का कोई सदस्य नहीं है '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; 
} 

जब मैं संकलन यह एक Linux मशीन पर g++ का उपयोग करने की कोशिश मैं त्रुटि मिलती है:

error: ‘struct sigevent’ has no member named ‘sigev_notify_thread_id’ 

वहाँ एक कारण है कि है? This मुझे विश्वास दिलाता है कि sigevent संरचना में sigev_notify_thread_id नामक एक सदस्य है।

+2

धन्यवाद @ डक। 'sevp._sigev_un._tid' और लाइन 2 9 5" यहां - http://lxr.free-electrons.com/source/include/uapi/asm-generic/siginfo.h#L295 "मेरी समस्या ठीक हुई। एक उत्तर के रूप में पोस्ट करें और मैं स्वीकार करूंगा! – dinkelk

उत्तर

4

sevp.sigev_notify_thread_id से sevp._sigev_un._tid बदलकर मेरी समस्या ठीक हुई। आप लाइन 2 9 5 here पर परिभाषा देख सकते हैं।

सहायक टिप्पणी के लिए @ डक के लिए धन्यवाद।

संबंधित मुद्दे