Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 343862 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java (-1 / +10 lines)
Lines 1136-1142 Link Here
1136
			// another request that we now need to process
1136
			// another request that we now need to process
1137
			RequestMonitor sequenceCompletedRm = new RequestMonitor(getExecutor(), null) {
1137
			RequestMonitor sequenceCompletedRm = new RequestMonitor(getExecutor(), null) {
1138
				@Override
1138
				@Override
1139
				protected void handleCompleted() {
1139
				protected void handleSuccess() {
1140
					 fOngoingOperation = false;
1140
					 fOngoingOperation = false;
1141
					 
1141
					 
1142
					 if (fOperationsPending.size() > 0) {
1142
					 if (fOperationsPending.size() > 0) {
Lines 1147-1152 Link Here
1147
					 }
1147
					 }
1148
					 // no other rm.done() needs to be called, they have all been handled already
1148
					 // no other rm.done() needs to be called, they have all been handled already
1149
				}
1149
				}
1150
				@Override
1151
				protected void handleFailure() {
1152
					// If the sequence failed, we have to give up on the operation(s).
1153
					// If we don't, we risk an infinite loop where we try, over and over
1154
					// to perform an operation that keeps on failing.
1155
					fOngoingOperation = false;
1156
					fOperationsPending.clear();
1157
					super.handleFailure();
1158
				}
1150
			};
1159
			};
1151
			
1160
			
1152
			getExecutor().execute(new Sequence(getExecutor(), sequenceCompletedRm) {
1161
			getExecutor().execute(new Sequence(getExecutor(), sequenceCompletedRm) {
(-)src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java (-1 / +10 lines)
Lines 1139-1145 Link Here
1139
			// another request that we now need to process
1139
			// another request that we now need to process
1140
			RequestMonitor sequenceCompletedRm = new RequestMonitor(getExecutor(), null) {
1140
			RequestMonitor sequenceCompletedRm = new RequestMonitor(getExecutor(), null) {
1141
				@Override
1141
				@Override
1142
				protected void handleCompleted() {
1142
				protected void handleSuccess() {
1143
					 fOngoingOperation = false;
1143
					 fOngoingOperation = false;
1144
					 
1144
					 
1145
					 if (fOperationsPending.size() > 0) {
1145
					 if (fOperationsPending.size() > 0) {
Lines 1150-1155 Link Here
1150
					 }
1150
					 }
1151
					 // no other rm.done() needs to be called, they have all been handled already
1151
					 // no other rm.done() needs to be called, they have all been handled already
1152
				}
1152
				}
1153
				@Override
1154
				protected void handleFailure() {
1155
					// If the sequence failed, we have to give up on the operation(s).
1156
					// If we don't, we risk an infinite loop where we try, over and over
1157
					// to perform an operation that keeps on failing.
1158
					fOngoingOperation = false;
1159
					fOperationsPending.clear();
1160
					super.handleFailure();
1161
				}
1153
			};
1162
			};
1154
			
1163
			
1155
			getExecutor().execute(new Sequence(getExecutor(), sequenceCompletedRm) {
1164
			getExecutor().execute(new Sequence(getExecutor(), sequenceCompletedRm) {

Return to bug 343862