|  | @@ -42,7 +42,7 @@ static LIST_HEAD ( run_queue );
 | 
		
	
		
			
			| 42 | 42 |   * have no effect.
 | 
		
	
		
			
			| 43 | 43 |   */
 | 
		
	
		
			
			| 44 | 44 |  void process_add ( struct process *process ) {
 | 
		
	
		
			
			| 45 |  | -	if ( list_empty ( &process->list ) ) {
 | 
		
	
		
			
			|  | 45 | +	if ( ! process_running ( process ) ) {
 | 
		
	
		
			
			| 46 | 46 |  		DBGC ( process, "PROCESS %p starting\n", process );
 | 
		
	
		
			
			| 47 | 47 |  		ref_get ( process->refcnt );
 | 
		
	
		
			
			| 48 | 48 |  		list_add_tail ( &process->list, &run_queue );
 | 
		
	
	
		
			
			|  | @@ -60,7 +60,7 @@ void process_add ( struct process *process ) {
 | 
		
	
		
			
			| 60 | 60 |   * have no effect.
 | 
		
	
		
			
			| 61 | 61 |   */
 | 
		
	
		
			
			| 62 | 62 |  void process_del ( struct process *process ) {
 | 
		
	
		
			
			| 63 |  | -	if ( ! list_empty ( &process->list ) ) {
 | 
		
	
		
			
			|  | 63 | +	if ( process_running ( process ) ) {
 | 
		
	
		
			
			| 64 | 64 |  		DBGC ( process, "PROCESS %p stopping\n", process );
 | 
		
	
		
			
			| 65 | 65 |  		list_del ( &process->list );
 | 
		
	
		
			
			| 66 | 66 |  		INIT_LIST_HEAD ( &process->list );
 |