Question: Need help with this please! This is c code related to linux. Write a program that blocks and then unblocks the signals, SIGINT (ctrl+ c)
Need help with this please! This is c code related to linux.
Write a program that blocks and then unblocks the signals, SIGINT (ctrl+ c) and SIGQUIT (ctrl+) in following steps. 1) Set up the handler for the signal SIGINT and SIGQUIT .Use signal() to set up a handler . The handler function should print out signal number and description about the signal: use the argument for the signal number and strsignal() for description 2) Block SIGINT and SIGQUIT for 10 seconds Use sigprocmask() to block Use sleep() for 10 seconds Try 'ctrl-c'and 'ctrl-\'to see that the pending signals include SIGINT and * SIGQUIT at the next step (the handler should not be called) * Signals other than SIGINT and SIGQUIT should not be blocked 3) Show pending signals Use sigpending() and printSigset() . Pending signals will be shown If there is not pending signals, print "empty signal set". 4) Unblock SIGINT and SIGQUIT * Use sigprocmask( . The handler function should print out "I caught signal 2 (Interrupt)" when you type in "ctrl-c", for example 5) The program should loop until SIGINT (not SIGQUIT) is caught, when the SIGINIT is caught the program is finished You can modify the sample code given in the lecture slides
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
