@ -13,6 +13,7 @@ typedef struct {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						unsigned  int  interval ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						unsigned  int  signal ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					}  Block ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  dummysighandler ( int  num ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  sighandler ( int  num ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  getcmds ( int  time ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# ifndef __OpenBSD__  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -58,7 +59,7 @@ void getcmds(int time)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						const  Block *  current ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						for ( int  i  =  0 ;  i  <  LENGTH ( blocks ) ;  i + + )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{ 	   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
							current  =  blocks  +  i ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
							if  ( ( current - > interval  ! =  0  & &  time  %  current - > interval  = =  0 )  | |  time  = =  - 1 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
								getcmd ( current , statusbar [ i ] ) ;   
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -79,8 +80,12 @@ void getsigcmds(int signal)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  setupsignals ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    /* initialize all real time signals with dummy handler */   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    for ( int  i  =  SIGRTMIN ;  i  < =  SIGRTMAX ;  i + + )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        signal ( i ,  dummysighandler ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						for ( int  i  =  0 ;  i  <  LENGTH ( blocks ) ;  i + + )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{ 	    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
							if  ( blocks [ i ] . signal  >  0 )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
								signal ( SIGRTMIN + blocks [ i ] . signal ,  sighandler ) ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						}   
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -137,6 +142,14 @@ void statusloop()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						}   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# ifndef __OpenBSD__  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					/* this signal handler should do nothing */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  dummysighandler ( int  signum )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					    return ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# endif  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# ifndef __OpenBSD__  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					void  sighandler ( int  signum )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					{  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -154,7 +167,7 @@ void termhandler(int signum)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					int  main ( int  argc ,  char * *  argv )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						for ( int  i  =  0 ;  i  <  argc ;  i + + )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{ 	   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
						{   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
							if  ( ! strcmp ( " -d " , argv [ i ] ) )   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
								delim  =  argv [ + + i ] [ 0 ] ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
							else  if ( ! strcmp ( " -p " , argv [ i ] ) )