2009-12-03 23 views
7

मैंने सिग्नेशन की परिभाषा में देखा, sa_sigaction कॉलबैक, अंतिम तर्क एक शून्य * है।क्या आप सिग्नेशन के लिए तर्क दे सकते हैं?

struct sigaction { 
    void (*sa_handler)(int); 
    void (*sa_sigaction)(int, siginfo_t *, void *); 
    sigset_t sa_mask; 
    int sa_flags; 
    void (*sa_restorer)(void); 
} 

यह संकेत देगा कि आप sa_sigaction हैंडलर को उपयोगकर्ता तर्क दे सकते हैं।

हालांकि, मैं इसका एक उदाहरण नहीं ढूंढ पाया।

क्या किसी को पता है कि क्या आप सिग्नेशन कॉलबैक फ़ंक्शन पर तर्क दे सकते हैं? और क्या आपके पास एक साधारण उदाहरण है?

उत्तर

13

दुर्भाग्य से नहीं। जबकि हस्ताक्षर शून्य है *, यह वास्तव में एक ucontext_t है। एकल यूनिक्स विशिष्टता से:

तीसरा तर्क प्रकार ucontext_t की एक वस्तु प्राप्त करने की प्रक्रिया 'संदर्भ है कि जब संकेत

+0

दिया गया था और यहाँ है बाधित किया गया था का उल्लेख करने के लिए सूचक को ढाला जा सकता है एक उदाहरण: http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/063/6391/6391l3.html – codelogic

+0

ऑनलाइन SUSv3 विनिर्देश में प्रासंगिक पृष्ठ का एक लिंक: http: //www.opengroup .org/onlinepubs/009695399/functions/sigaction.html – ephemient

+0

दुर्भाग्यपूर्ण है :( – simon

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

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