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水木清华站∶精华区