| voidfatal_error_signal (int sig)
 {
 / Since this handler is established for more than one kind of signal,it might still get invoked recursively by delivery of some other kind
 of signal.  Use a static variable to keep track of that. /
 if (fatal_error_in_progress)
 raise (sig);
 fatal_error_in_progress = 1;
 /* Now do the clean up actions: 
reset terminal modeskill child processesremove lock files */...
 / Now reraise the signal.  Since the signal is blocked,it will receive its default handling,which isto terminate the process.  We could just call
 
 exitorabort,but reraising the signalsets the return status from the process correctly. /
 raise (sig);
 }
 
 setjmpandlongjmpfacilities (see section). 
 
 
 
 #include 
#include 
jmp_buf return_to_top_level; volatile sig_atomic_t waiting_for_input; (编辑:通辽站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |