File tree Expand file tree Collapse file tree 2 files changed +8
-6
lines changed Expand file tree Collapse file tree 2 files changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -316,7 +316,7 @@ DcpResponse* ActiveStream::next() {
316316
317317    DcpResponse* response = NULL ;
318318
319-     switch  (state_ ) {
319+     switch  (initState ) {
320320        case  STREAM_PENDING:
321321            break ;
322322        case  STREAM_BACKFILLING:
@@ -340,7 +340,9 @@ DcpResponse* ActiveStream::next() {
340340            abort ();
341341    }
342342
343-     if  (state_ != STREAM_DEAD && initState != state_ && !response) {
343+     stream_state_t  newState = state_;
344+ 
345+     if  (newState != STREAM_DEAD && newState != state_ && !response) {
344346        lh.unlock ();
345347        return  next ();
346348    }
@@ -916,7 +918,7 @@ void ActiveStream::transitionState(stream_state_t newState) {
916918        return ;
917919    }
918920
919-     switch  (state_) {
921+     switch  (state_. load () ) {
920922        case  STREAM_PENDING:
921923            cb_assert (newState == STREAM_BACKFILLING || newState == STREAM_DEAD);
922924            break ;
@@ -1099,7 +1101,7 @@ void NotifierStream::transitionState(stream_state_t newState) {
10991101        return ;
11001102    }
11011103
1102-     switch  (state_) {
1104+     switch  (state_. load () ) {
11031105        case  STREAM_PENDING:
11041106            cb_assert (newState == STREAM_DEAD);
11051107            break ;
@@ -1571,7 +1573,7 @@ void PassiveStream::transitionState(stream_state_t newState) {
15711573        return ;
15721574    }
15731575
1574-     switch  (state_) {
1576+     switch  (state_. load () ) {
15751577        case  STREAM_PENDING:
15761578            cb_assert (newState == STREAM_READING || newState == STREAM_DEAD);
15771579            break ;
Original file line number Diff line number Diff line change @@ -144,7 +144,7 @@ class Stream : public RCValue {
144144    uint64_t  vb_uuid_;
145145    uint64_t  snap_start_seqno_;
146146    uint64_t  snap_end_seqno_;
147-     stream_state_t  state_;
147+     AtomicValue< stream_state_t >  state_;
148148    stream_type_t  type_;
149149
150150    AtomicValue<bool > itemsReady;
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments