|  | @@ -295,6 +295,16 @@ func (m *Client) fetchOutput() {
 | 
											
												
													
														|  |  			log.Trace(newError("failed to read metadata").Base(err))
 |  |  			log.Trace(newError("failed to read metadata").Base(err))
 | 
											
												
													
														|  |  			break
 |  |  			break
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  | 
 |  | +		if meta.SessionStatus == SessionStatusKeepAlive {
 | 
											
												
													
														|  | 
 |  | +			if meta.Option.Has(OptionData) {
 | 
											
												
													
														|  | 
 |  | +				if err := drain(reader); err != nil {
 | 
											
												
													
														|  | 
 |  | +					log.Trace(newError("failed to read data").Base(err))
 | 
											
												
													
														|  | 
 |  | +					break
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +			continue
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  		m.access.RLock()
 |  |  		m.access.RLock()
 | 
											
												
													
														|  |  		s, found := m.sessions[meta.SessionID]
 |  |  		s, found := m.sessions[meta.SessionID]
 | 
											
												
													
														|  |  		m.access.RUnlock()
 |  |  		m.access.RUnlock()
 | 
											
										
											
												
													
														|  | @@ -390,6 +400,16 @@ func (w *ServerWorker) run(ctx context.Context) {
 | 
											
												
													
														|  |  			return
 |  |  			return
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +		if meta.SessionStatus == SessionStatusKeepAlive {
 | 
											
												
													
														|  | 
 |  | +			if meta.Option.Has(OptionData) {
 | 
											
												
													
														|  | 
 |  | +				if err := drain(reader); err != nil {
 | 
											
												
													
														|  | 
 |  | +					log.Trace(newError("failed to read data").Base(err))
 | 
											
												
													
														|  | 
 |  | +					break
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +			continue
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  		w.access.RLock()
 |  |  		w.access.RLock()
 | 
											
												
													
														|  |  		s, found := w.sessions[meta.SessionID]
 |  |  		s, found := w.sessions[meta.SessionID]
 | 
											
												
													
														|  |  		w.access.RUnlock()
 |  |  		w.access.RUnlock()
 |