#include <stdio.h>
#include <signal.h>
void ALARMhandler(int sig)
{
signal(SIGALRM, SIG_IGN); /* ignore this signal */
printf("Hello");
signal(SIGALRM, ALARMhandler); /* reinstall the handler */
}
int main(int argc, char *argv[])
{
alarm(2); /* set alarm clock */
while (1)
;
printf("All done");
}
मैं इस कार्यक्रम 2 सेकंड के बाद प्रिंट "हैलो" करने की उम्मीद है, लेकिन बजाय उत्पादन होता है "zsh: अलार्म ./a.out"सरल सिग्नल - सी प्रोग्रामिंग और अलार्म समारोह
किसी भी विचार क्या है चल रहा?
वास्तविक विश्व उदाहरण: मैंने एक बार उस सिस्टम पर काम किया जो बैक एंड के रूप में एक्सेस डेटाबेस का उपयोग करता था, और कुछ परिस्थितियों में सिग्नल हैंडलर में 'printf()' कॉल stdout की बजाय .mdb फ़ाइल को लिखता था, मरम्मत से परे डेटाबेस को खो देता था । अच्छे कार्यक्रम के लिए –