| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -323,12 +323,19 @@ func RunThread(ctx * GraphContext, thread Thread) error {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    thread_state := states[0].(ThreadState)
 | 
					 | 
					 | 
					 | 
					    thread_state := states[0].(ThreadState)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    err := thread_state.Stop()
 | 
					 | 
					 | 
					 | 
					    err := thread_state.Stop()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return nil, err
 | 
					 | 
					 | 
					 | 
					    return nil, err
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  })
 | 
					 | 
					 | 
					 | 
					  })
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if err != nil {
 | 
					 | 
					 | 
					 | 
					  if err != nil {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ctx.Log.Logf("thread", "THREAD_RUN_STOP_ERR: %e", err)
 | 
					 | 
					 | 
					 | 
					    ctx.Log.Logf("thread", "THREAD_RUN_STOP_ERR: %e", err)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    return err
 | 
					 | 
					 | 
					 | 
					    return err
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }
 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  err = UnlockLockable(ctx, thread, thread, nil)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  if err != nil {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    ctx.Log.Logf("thread", "THREAD_RUN_UNLOCK_ERR: %e", err)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    return err
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  SendUpdate(ctx, thread, NewSignal(thread, "thread_done"))
 | 
					 | 
					 | 
					 | 
					  SendUpdate(ctx, thread, NewSignal(thread, "thread_done"))
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  ctx.Log.Logf("thread", "THREAD_RUN_DONE: %s", thread.ID())
 | 
					 | 
					 | 
					 | 
					  ctx.Log.Logf("thread", "THREAD_RUN_DONE: %s", thread.ID())
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |