Download Blue Gene/L: Application Development
Transcript
For certain signals, such as SIGKILL and SIGSTOP, the action is fixed and the application terminates without much choice. The signals without any registered handler are simply ignored. For signals with installed handlers, there are two choices: Deliver the signal immediately Postpone the signal delivery until the checkpoint is complete All signals are classified into one of these two categories as shown in Table 7-1. If the signal must be delivered immediately, the memory state of the application might change, making the current checkpoint file inconsistent. Therefore, the current checkpoint must be aborted. The checkpoint routine periodically checks if a signal has been delivered since the current checkpoint began. In case a signal has been delivered, it aborts the current checkpoint and returns to the application. For signals that are to be postponed, the checkpoint handler simply saves the signal information in a pending signal list. When the checkpoint is complete, the library calls application handlers for all the signals in the pending signal list. If more than one signal of the same type is raised while the checkpoint is in progress, the checkpoint library ensures that the handler registered by the application will be called at least once. However, it does not guarantee in-order-delivery of signals. Table 7-1 Action taken on signal 86 Signal name Signal type Action to be taken SIGINT Critical Deliver SIGXCPU Critical Deliver SIGILL Critical Deliver SIGABRT/SIGIOT Critical Deliver SIGBUS Critical Deliver SIGFPE Critical Deliver SIGSTP Critical Deliver SIGSEGV Critical Deliver SIGPIPE Critical Deliver SIGSTP Critical Deliver SIGSTKFLT Critical Deliver SIGTERM Critical Deliver SIGHUP Non-critical Postpone SIGALRM Non-critical Postpone SIGUSR1 Non-critical Postpone SIGUSR2 Non-critical Postpone SIGTSTP Non-critical Postpone SIGVTALRM Non-critical Postpone SIGPROF Non-critical Postpone SIGPOLL/SIGIO Non-critical Postpone IBM System Blue Gene Solution: Application Development