Project

General

Profile

Bug #1368

Updated by tuxillo over 17 years ago

Hi. 
 
 I noticed there's still a weird "race" with regard to suspend signal 
 
 (ctrl+Z), that I used to observe back in 1.8-RELEASE days.    It's 100% 
 
 reproducible on -DEVELOPMENT or 2.2-RELEASE.    What I did was basically 
 
 this, followed by ctrl+Z: 

   

   $ su root -c 'vi /usr/pkg/etc/mk.conf' 
   
   [1] + Suspended (signal) 	 su root -c vi /usr/pkg/etc/mk.conf 
   
   $ fg 

 

 The result depends on root's login shell; if it's set to /bin/csh 
 
 (the default), the suspended process silently vanishes (killed?). 
   
   $ fg 

   

   Suspended 
   
   $ pgrep -u root vi 

 

 If the root's login shell is set to /bin/sh, the vi session won't 
 
 resume and gets stuck there (pressing ctrl+T shows that the process 
 
 is in [stop] state).    If I send SIGCONT to vi, the vi session resumes 
 
 and I can continue to work on it. 

 

 The behavior on csh is quite undesirable, as you may lose the suspended 
 
 process (I think I've seen that before, but didn't care at that time). 
 
 It seems to occur for commands other than vi: 
   
   $ su root -c 'cat' 			 # affected 
   
   $ su root -c 'seq 1 10000' 		 # affected 
   
   $ su root -c 'seq 1 10000 | tee a' 	 # can't be interrupted 

 

 Any ideas on how to resolve this issue?

Back