raise.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 47 行
C
47 行
/*
* This program waits until a SIGINT signal
* is received.
*/
#include <stdio.h>
#include <signal.h>
sig_atomic_t signal_count;
sig_atomic_t signal_number;
static void alarm_handler( int signum )
{
++signal_count;
signal_number = signum;
}
void main()
{
unsigned long i;
signal_count = 0;
signal_number = 0;
signal( SIGINT, alarm_handler );
printf("Signal will be auto-raised on iteration "
"10000 or hit CTRL-C.\n");
printf("Iteration: ");
for( i = 0; i < 100000; ++i )
{
printf("\b\b\b\b\b%*d", 5, i);
if( i == 10000 ) raise(SIGINT);
if( signal_count > 0 ) break;
}
if( i == 100000 ) {
printf("\nNo signal was raised.\n");
} else if( i == 10000 ) {
printf("\nSignal %d was raised by the "
"raise() function.\n", signal_number);
} else {
printf("\nUser raised the signal.\n",
signal_number);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?