BBS水木清华站∶精华区

发信人: althea (痛并快乐着~~向日葵), 信区: Linux        
标  题: Re: 请教:linux的信号系统调用 
发信站: BBS 水木清华站 (Fri Jan  7 11:10:15 2000) 
 
【 在 lylwps (tuantuan) 的大作中提到: 】 
 我编写了如下一端用户态程序: 
 main() 
 {....... 
  old_handler=signal(SIGUSR1,my_handler); 
  ioctl(fd,READDISK,arg_cmd); 
  pause(); 
 } 
 my_handler() 
 { 
 ioctl(fd,GETDATA,arg_buf); 
 signal(SIGUSR!,old_handler); 
 } 
 在内核中自定义的READDISK接受命令并启动硬件执行后结束. 
 当硬件操作完中断响应中,向用户进程发SIGUSR1,用户用GETDATA取数据. 
 执行结果有时用户进程可以返回,有时处于挂起状态,但可以用kill结束它. 
 为何是这样的,请指点. 
 --                       
也许是在pause之前就收到SIGUSR1的信号 
 
-- 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.179.13] 

BBS水木清华站∶精华区