看资料中有如此说法, 如prompt_info是信号处理函数: void prompt_info(int signo) { write(STDERR_FILENO,prompt,len); } ... void init_sigaction(void) { struct sigaction act; act.sa_handler=prompt_info; act.sa_flags=0; sigemptyset(&act.sa_mask); sigaction(SIGPROF,&act,NULL); }
所此时只能使用write而不能使用printf等, 我想可能是因为printf是带缓冲的, 但能是否使用: fprintf(STDERR...) 呢? 请各位说说看法.
|