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